/*
Theme Name: MECHA 2026 B+ v2
Theme URI: https://www.mecha.gr/
Author: MECHA Engineering
Description: Δοκιμαστική εκδοχή B+ v2: ίδια με το B+ συν τη σελίδα «Συχνές ερωτήσεις» με όλες τις ερωτήσεις του site. Για επιστροφή ενεργοποιήστε ξανά το MECHA 2026 B+.
Version: 5.8.7
Requires at least: 6.4
Requires PHP: 7.4
License: GPLv2 or later
Text Domain: mecha
*/

:root {
	--m-ink: #151A16;
	--m-ground: #F3F0E9;
	--m-paper: #FBFAF6;
	--m-sand: #E8E3D8;
	--m-line: #D5CFC3;
	--m-green: #1E3B2F;
	--m-sage: #9FB8A8;
	--m-mute: #5B635D;
	--m-body: #3C443F;
	--m-pad: clamp(16px, 5.5vw, 80px);
	--m-section: clamp(64px, 9vw, 120px);
}

/* ---------- Basics ---------- */
body { -webkit-font-smoothing: antialiased; }
.wp-site-blocks > * { margin-block-start: 0; }
.m-mono,
.m-eyebrow {
	font-family: 'JetBrains Mono', ui-monospace, monospace;
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--m-mute);
	margin: 0;
}
.m-eyebrow.is-rule::before {
	content: "";
	display: inline-block;
	width: 32px;
	height: 1px;
	background: currentColor;
	vertical-align: middle;
	margin-right: 12px;
}
.m-lead { font-size: clamp(17px, 1.4vw, 19px); line-height: 1.55; color: var(--m-body); max-width: 480px; }
.m-muted { color: var(--m-body); }
.m-section { padding-top: var(--m-section) !important; padding-bottom: var(--m-section) !important; }
.m-inner { max-width: 1280px; margin-left: auto !important; margin-right: auto !important; }
.m-section-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; flex-wrap: wrap; margin-bottom: clamp(32px, 4vw, 56px); }
.m-section-head > div { display: flex; flex-direction: column; gap: 16px; }
.m-section-head h2 { margin: 0; max-width: 660px; }
.m-section-head p:not(.m-eyebrow) { margin: 0; max-width: 400px; color: var(--m-body); }
.m-arrow-link { font-weight: 600; font-size: 15px; }

/* Buttons */
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	color: var(--m-ink);
	border: 1px solid var(--m-ink);
	padding: 15px 27px;
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--m-ink); color: var(--m-ground); }
.m-dark .wp-block-button.is-style-outline > .wp-block-button__link,
.m-green .wp-block-button.is-style-outline > .wp-block-button__link { color: var(--m-ground); border-color: rgba(243,240,233,.5); }
.m-dark .wp-block-button.is-style-outline > .wp-block-button__link:hover,
.m-green .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--m-ground); color: var(--m-ink); }
.wp-block-button__link { transition: background-color .15s, color .15s; }

/* Grid placeholder look (for images not yet chosen) */
.m-ph {
	background-color: #2B3A32;
	background-image: linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px);
	background-size: 48px 48px;
}

/* ---------- Header ---------- */
.m-header {
	border-bottom: 1px solid var(--m-line);
	background: var(--m-ground);
	position: sticky;
	top: 0;
	z-index: 50;
}
.admin-bar .m-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .m-header { top: 0; position: relative; } }
.m-header-inner {
	min-height: 88px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}
.m-logo { margin: 0; display: flex; align-items: baseline; gap: 10px; }
.m-logo a { color: var(--m-ink); text-decoration: none !important; display: flex; align-items: baseline; gap: 10px; }
.m-logo strong { font-size: 26px; font-weight: 700; letter-spacing: .14em; }
.m-logo span { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--m-mute); }
.m-header .wp-block-navigation { gap: 36px; }
.m-header .wp-block-navigation a { color: var(--m-ink); }
.m-header .wp-block-navigation a:hover { color: var(--m-green); text-decoration: none; }
.m-header .wp-block-navigation .current-menu-item > a { color: var(--m-green); }
.m-header .wp-block-navigation__submenu-container { border: 1px solid var(--m-line) !important; background: var(--m-paper) !important; padding: 8px 0; min-width: 220px !important; }
.m-header .wp-block-navigation__submenu-container a { padding: 10px 18px !important; }
.m-header-actions { display: flex; align-items: center; gap: 24px; margin: 0; }
.m-header-actions p { margin: 0; }
.m-phone a { color: var(--m-ink); font-weight: 500; font-size: 15px; }
.m-lang { font-family: 'JetBrains Mono', monospace; font-size: 12px; letter-spacing: .08em; color: var(--m-mute); }
.m-lang a { color: var(--m-mute); }
.m-lang-active { color: var(--m-ink); }
.m-header-cta .wp-block-button__link { padding: 13px 22px; font-size: 15px; }
@media (max-width: 1100px) {
	.m-phone, .m-lang { display: none; }
}
@media (max-width: 780px) {
	.m-header-inner { min-height: 64px; }
	.m-logo strong { font-size: 20px; }
	.m-logo span { display: none; }
	.m-header-cta { display: none; }
}
.wp-block-navigation__responsive-container.is-menu-open { background: var(--m-ground) !important; padding: 32px var(--m-pad) !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 20px !important; font-size: 22px; }

/* ---------- Hero ---------- */
.m-hero { border-bottom: 1px solid var(--m-line); display: grid; grid-template-columns: minmax(0, 600px) minmax(0, 1fr); padding-left: var(--m-pad) !important; padding-right: 0 !important; }
.m-hero-copy { padding: clamp(56px, 7vw, 96px) 64px 64px 0; display: flex; flex-direction: column; justify-content: space-between; gap: 48px; }
.m-hero-copy > div { display: flex; flex-direction: column; gap: 28px; }
.m-hero-copy h1 { margin: 0; }
.m-hero-copy p { margin: 0; }
.m-hero-media.wp-block-cover { min-height: 760px; margin: 0; padding: 0; align-items: flex-end; }
.m-hero-media .wp-block-cover__inner-container { width: 100%; padding: 32px 40px; background: linear-gradient(transparent, rgba(12,20,16,.55)); color: var(--m-ground); display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; }
.m-hero-media .wp-block-cover__inner-container p { margin: 0; }
.m-hero-media .m-eyebrow { color: rgba(243,240,233,.75); font-size: 11px; }
.m-hero-caption { font-size: 22px; font-weight: 500; }
.m-hero-media a { color: var(--m-ground); font-size: 14px; font-weight: 500; border-bottom: 1px solid rgba(243,240,233,.6); }
.m-rating { display: flex; align-items: center; gap: 12px; font-size: 14px; color: var(--m-body); }
.m-rating .m-stars { letter-spacing: 2px; color: var(--m-ink); font-size: 15px; }
@media (max-width: 960px) {
	.m-hero { grid-template-columns: 1fr; padding-right: var(--m-pad) !important; }
	.m-hero-copy { padding: 40px 0 32px; gap: 28px; }
	.m-hero-media.wp-block-cover { min-height: 320px; margin: 0 calc(var(--m-pad) * -1); }
	.m-hero-media .wp-block-cover__inner-container { padding: 20px; }
	.m-hero-caption { font-size: 18px; }
	.m-hero .wp-block-buttons { flex-direction: column; align-items: stretch; }
	.m-hero .wp-block-button__link { width: 100%; text-align: center; }
}

/* ---------- Facts strip ---------- */
.m-facts { border-bottom: 1px solid var(--m-line); }
.m-facts-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.m-fact { padding: 36px 0 36px 40px; border-left: 1px solid var(--m-line); display: flex; flex-direction: column; gap: 6px; }
.m-fact:first-child { padding-left: 0; border-left: 0; }
.m-fact p { margin: 0; }
.m-fact-num { font-size: 36px; font-weight: 600; line-height: 1.1; }
.m-fact .m-eyebrow { font-size: 11px; }
@media (max-width: 780px) {
	.m-facts-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.m-fact { padding: 20px !important; border-left: 1px solid var(--m-line); border-top: 1px solid var(--m-line); }
	.m-fact:nth-child(odd) { border-left: 0; padding-left: 0 !important; }
	.m-fact:nth-child(-n+2) { border-top: 0; }
	.m-fact-num { font-size: 28px; }
}

/* ---------- Service cards ---------- */
.m-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.m-card { background: var(--m-paper); border: 1px solid var(--m-line); display: flex; flex-direction: column; margin: 0 !important; }
.m-card .wp-block-cover { min-height: 300px !important; margin: 0; }
.m-card-body { padding: 32px; display: flex; flex-direction: column; gap: 14px; flex-grow: 1; }
.m-card-body > * { margin: 0 !important; }
.m-card-body h3 { font-size: 26px; }
.m-card-body p:not(.m-eyebrow) { color: var(--m-body); }
.m-card-body .m-arrow-link { margin-top: auto !important; padding-top: 8px; }
.m-card.is-green { background: var(--m-green); border-color: var(--m-green); color: var(--m-ground); }
.m-card.is-green .m-eyebrow { color: rgba(243,240,233,.7); }
.m-card.is-green p:not(.m-eyebrow) { color: rgba(243,240,233,.85); }
.m-card.is-green a { color: var(--m-ground); }
@media (max-width: 960px) {
	.m-cards { grid-template-columns: 1fr; }
	.m-card .wp-block-cover { min-height: 200px !important; }
}

/* ---------- Dark / green sections ---------- */
.m-dark { background: var(--m-ink); color: var(--m-ground); }
.m-dark .m-eyebrow { color: rgba(243,240,233,.6); }
.m-green { background: var(--m-green); color: var(--m-ground); }
.m-green .m-eyebrow { color: rgba(243,240,233,.65); }
.m-green a, .m-dark a { color: var(--m-ground); }

/* ---------- Process ---------- */
.m-steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-top: 1px solid rgba(243,240,233,.25); }
.m-step { padding: 32px 28px 0; border-left: 1px solid rgba(243,240,233,.25); display: flex; flex-direction: column; gap: 14px; margin: 0 !important; }
.m-step:first-child { border-left: 0; padding-left: 0; }
.m-step > * { margin: 0 !important; }
.m-step-num { font-family: 'JetBrains Mono', monospace; font-size: 13px; color: var(--m-sage); }
.m-step h3 { font-size: 20px; }
.m-step p:not(.m-step-num) { font-size: 15px; line-height: 1.55; color: rgba(243,240,233,.7); }
@media (max-width: 960px) {
	.m-steps { grid-template-columns: 1fr; }
	.m-step { flex-direction: row; flex-wrap: wrap; gap: 8px 16px; padding: 18px 0; border-left: 0; border-bottom: 1px solid rgba(243,240,233,.25); }
	.m-step-num { width: 24px; }
	.m-step h3 { font-size: 17px; font-weight: 500; }
	.m-step p:not(.m-step-num) { flex-basis: 100%; padding-left: 40px; }
}

/* ---------- Projects (query loop) ---------- */
.m-projects .wp-block-post-template {
	display: grid !important;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: 40px 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.m-projects .wp-block-post { grid-column: span 4; display: flex; flex-direction: column; gap: 16px; margin: 0; }
.m-projects .wp-block-post:nth-child(1) { grid-column: span 7; }
.m-projects .wp-block-post:nth-child(2) { grid-column: span 5; }
.m-projects .wp-block-post-featured-image { margin: 0; background: #2B3A32; aspect-ratio: 4 / 3; overflow: hidden; }
.m-projects .wp-block-post:nth-child(-n+2) .wp-block-post-featured-image { aspect-ratio: auto; height: 460px; }
.m-projects .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.m-projects .wp-block-post:hover .wp-block-post-featured-image img { transform: scale(1.03); }
.m-projects .wp-block-post-title { font-size: 19px; margin: 0; }
.m-projects .wp-block-post:nth-child(-n+2) .wp-block-post-title { font-size: 22px; }
.m-projects .wp-block-post-title a { color: var(--m-ink); }
.m-center { display: flex; justify-content: center; margin-top: 48px !important; }
@media (max-width: 960px) {
	.m-projects .wp-block-post,
	.m-projects .wp-block-post:nth-child(1),
	.m-projects .wp-block-post:nth-child(2) { grid-column: span 12; }
	.m-projects .wp-block-post:nth-child(-n+2) .wp-block-post-featured-image { height: auto; aspect-ratio: 4 / 3; }
}

/* ---------- Reviews ---------- */
.m-reviews { background: var(--m-sand); border-top: 1px solid var(--m-line); border-bottom: 1px solid var(--m-line); }
.m-quotes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.m-quote { background: var(--m-paper); padding: 36px; display: flex; flex-direction: column; justify-content: space-between; gap: 32px; min-height: 300px; margin: 0 !important; }
.m-quote > * { margin: 0 !important; }
.m-quote-text { font-size: 20px; line-height: 1.5; }
.m-quote-name { font-size: 15px; font-weight: 600; }
.m-quote .m-eyebrow { font-size: 11px; margin-top: 4px !important; }
@media (max-width: 960px) {
	.m-quotes { grid-template-columns: 1fr; }
	.m-quote { min-height: 0; padding: 24px; }
	.m-quote-text { font-size: 18px; }
}

/* ---------- Blog (query loop) ---------- */
.m-posts .wp-block-post-template { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin: 0; padding: 0; list-style: none; }
.m-posts .wp-block-post { border-top: 1px solid var(--m-ink); padding-top: 20px; display: flex; flex-direction: column; gap: 14px; margin: 0; }
.m-posts .wp-block-post > * { margin: 0; }
.m-posts .wp-block-post-date { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--m-mute); }
.m-posts .wp-block-post-title { font-size: 22px; line-height: 1.3; }
.m-posts .wp-block-post-title a { color: var(--m-ink); }
.m-posts .wp-block-post-excerpt { font-size: 15px; color: var(--m-body); }
.m-posts .wp-block-post-excerpt__more-text { display: none; }
@media (max-width: 960px) { .m-posts .wp-block-post-template { grid-template-columns: 1fr; } }

/* ---------- Contact ---------- */
.m-contact-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(40px, 7vw, 96px); }
.m-contact-copy { display: flex; flex-direction: column; gap: 28px; }
.m-contact-copy > * { margin: 0 !important; }
.m-contact-copy h2 { font-size: clamp(32px, 3.7vw, 52px); }
.m-contact-copy .m-lead { color: rgba(243,240,233,.8); }
.m-contact-list { display: flex; flex-direction: column; gap: 10px; margin-top: 16px !important; }
.m-contact-list p { margin: 0; color: rgba(243,240,233,.85); }
.m-form { background: var(--m-ground); color: var(--m-ink); padding: clamp(24px, 3vw, 40px); }
.m-form label, .m-form .wpforms-field-label { font-size: 13px; font-weight: 600; color: var(--m-ink) !important; }
.m-form input[type=text], .m-form input[type=email], .m-form input[type=tel], .m-form input[type=url],
.m-form select, .m-form textarea {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
	border: 1px solid #B9B2A4 !important;
	border-radius: 0 !important;
	background: var(--m-paper) !important;
	padding: 12px 14px !important;
	font: inherit;
	font-size: 15px;
	color: var(--m-ink);
	margin-top: 8px;
}
.m-form textarea { min-height: 120px; }
.m-form input[type=submit], .m-form button[type=submit] {
	width: 100%;
	height: 56px;
	border: 0 !important;
	border-radius: 0 !important;
	background: var(--m-ink) !important;
	color: var(--m-ground) !important;
	font: inherit;
	font-size: 16px !important;
	font-weight: 600;
	cursor: pointer;
}
.m-form .wpcf7 p { margin: 0 0 16px; }
.m-form-empty { font-size: 15px; color: var(--m-body); }
@media (max-width: 960px) { .m-contact-grid { grid-template-columns: 1fr; } }

/* ---------- Footer ---------- */
.m-footer { background: var(--m-ink); color: rgba(243,240,233,.75); font-size: 14px; }
.m-footer a { color: rgba(243,240,233,.75); }
.m-footer a:hover { color: var(--m-ground); }
.m-footer-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px; }
.m-footer-col { display: flex; flex-direction: column; gap: 10px; margin: 0 !important; }
.m-footer-col > * { margin: 0 !important; }
.m-footer .m-eyebrow { color: var(--m-sage); font-size: 11px; }
.m-footer-brand { font-size: 22px; font-weight: 700; letter-spacing: .14em; color: var(--m-ground); }
.m-footer-bottom { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; border-top: 1px solid rgba(243,240,233,.2); padding-top: 24px; margin-top: 48px !important; font-size: 13px; }
.m-footer-bottom p { margin: 0; }
.m-footer-bottom img { height: 40px; width: auto; background: #fff; }
@media (max-width: 780px) { .m-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ---------- Inner pages & posts ---------- */
.m-page-head { border-bottom: 1px solid var(--m-line); }
.m-page-head h1 { margin: 12px 0 0; }
.m-article .wp-block-post-featured-image { margin-bottom: 40px; }
.m-article .wp-block-post-content { font-size: 18px; line-height: 1.7; }
.m-article .wp-block-post-content h2 { font-size: clamp(26px, 2.6vw, 34px); margin-top: 1.6em; }
.m-article .wp-block-post-content h3 { font-size: 22px; margin-top: 1.4em; }
.m-article .wp-block-post-content img { height: auto; }
.m-article .wp-block-post-content table { border-collapse: collapse; width: 100%; font-size: 15px; }
.m-article .wp-block-post-content td, .m-article .wp-block-post-content th { border: 1px solid var(--m-line); padding: 10px 12px; }
.m-archive .wp-block-post-template { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 24px; list-style: none; padding: 0; margin: 0; }
.m-archive .wp-block-post { display: flex; flex-direction: column; gap: 14px; margin: 0; }
.m-archive .wp-block-post > * { margin: 0; }
.m-archive .wp-block-post-featured-image { aspect-ratio: 4 / 3; overflow: hidden; background: #2B3A32; }
.m-archive .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; }
.m-archive .wp-block-post-title { font-size: 20px; line-height: 1.3; }
.m-archive .wp-block-post-title a { color: var(--m-ink); }
.m-archive .wp-block-post-date { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--m-mute); }
.m-archive .wp-block-post-excerpt { font-size: 15px; color: var(--m-body); }
.m-archive .wp-block-query-pagination { margin-top: 56px; font-weight: 600; }
@media (max-width: 960px) { .m-archive .wp-block-post-template { grid-template-columns: 1fr; } }

/* WPBakery content inside the new theme */
.m-vc .vc_row { margin-left: 0; margin-right: 0; }
.m-vc .wpb_wrapper h1, .m-vc .wpb_wrapper h2, .m-vc .wpb_wrapper h3 { font-family: inherit !important; }

/* Side padding utility (sections are full-bleed, content sits in .m-inner) */
.m-px { padding-left: var(--m-pad) !important; padding-right: var(--m-pad) !important; }
.m-main { margin: 0 !important; }
.m-page-head { padding-top: clamp(48px, 6vw, 88px) !important; padding-bottom: clamp(32px, 4vw, 56px) !important; }
.m-article-body { padding-top: clamp(40px, 5vw, 72px) !important; padding-bottom: var(--m-section) !important; }
.m-back { margin-top: 56px !important; font-weight: 600; }

/* ---------- Header v1.0.1: classic menu (WPML-aware) ---------- */
.m-header-inner { flex-wrap: nowrap; }
.m-logo, .m-header-actions { flex-shrink: 0; }
.m-nav { flex: 1 1 auto; display: flex; justify-content: center; min-width: 0; }
.m-menu { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: clamp(18px, 2.2vw, 36px); }
.m-menu li { position: relative; margin: 0; }
.m-menu > li > a { display: block; padding: 32px 0; font-size: 15px; font-weight: 500; color: var(--m-ink); white-space: nowrap; text-decoration: none !important; }
.m-menu > li > a:hover,
.m-menu > .current-menu-item > a,
.m-menu > .current-menu-ancestor > a { color: var(--m-green); }
.m-menu > .current-menu-item > a { box-shadow: inset 0 -2px 0 var(--m-green); }
.m-menu > .menu-item-has-children > a::after { content: ""; display: inline-block; width: 6px; height: 6px; margin-left: 8px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-3px) rotate(45deg); }
.m-menu .sub-menu { list-style: none; margin: 0; padding: 8px 0; position: absolute; top: 100%; left: -18px; min-width: 240px; background: var(--m-paper); border: 1px solid var(--m-line); opacity: 0; visibility: hidden; transform: translateY(4px); transition: opacity .15s, transform .15s, visibility .15s; z-index: 60; }
.m-menu li:hover > .sub-menu, .m-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.m-menu .sub-menu a { display: block; padding: 10px 18px; font-size: 15px; color: var(--m-ink); white-space: nowrap; text-decoration: none !important; }
.m-menu .sub-menu a:hover { background: var(--m-sand); }
.m-header-actions { gap: 20px; }
.m-phone a, .m-header-cta .wp-block-button__link { white-space: nowrap; }
.m-menu-missing { margin: 0; font-size: 14px; }
.m-burger { display: none; position: static; }
.m-burger summary { list-style: none; width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; cursor: pointer; color: var(--m-ink); }
.m-burger summary::-webkit-details-marker { display: none; }
.m-burger-panel { position: absolute; left: 0; right: 0; top: 100%; background: var(--m-ground); border-bottom: 1px solid var(--m-line); padding: 8px var(--m-pad) 28px; box-shadow: 0 16px 32px rgba(21,26,22,.08); max-height: calc(100vh - 64px); max-height: calc(100dvh - 64px); overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; touch-action: pan-y; }
/* Ανοιχτό μενού στο κινητό: η σελίδα από πίσω δεν κουνιέται, κυλάει μόνο το μενού */
html.m-menu-open, html.m-menu-open body { overflow: hidden !important; height: 100%; }
html.m-menu-open body { touch-action: none; }
html.m-menu-open .m-burger-panel { touch-action: pan-y; }
.m-burger-panel .m-menu { flex-direction: column; align-items: stretch; gap: 0; }
.m-burger-panel .m-menu > li > a { padding: 16px 0; font-size: 20px; border-bottom: 1px solid var(--m-line); box-shadow: none; }
.m-burger-panel .m-menu .sub-menu { position: static; opacity: 1; visibility: visible; transform: none; border: 0; background: transparent; padding: 0 0 8px 16px; min-width: 0; }
.m-burger-panel .m-menu .sub-menu a { padding: 10px 0; font-size: 16px; }
.m-burger-panel p { margin: 20px 0 0; }
.m-burger-phone { font-weight: 600; color: var(--m-ink); }
@media (max-width: 1400px) { .m-phone { display: none; } }
@media (max-width: 1100px) {
	.m-nav, .m-header-actions .m-lang { display: none; }
	.m-burger { display: block; }
	.m-header-inner { position: relative; }
	.m-header { position: relative; }
}

/* Grids: cancel WordPress flow-layout top margins so every cell lines up */
.m-hero > *, .m-hero-copy > *, .m-facts-grid > *, .m-cards > *, .m-steps > *, .m-quotes > *,
.m-contact-grid > *, .m-footer-grid > *, .m-section-head > *, .m-header-inner > *, .m-header-actions > * { margin-block-start: 0 !important; }

/* ---------- v1.0.3 ---------- */
/* Header: more room */
.m-header .m-inner.m-header-inner { max-width: 1440px; gap: 32px; }
.m-logo a { white-space: nowrap; }
.m-nav { flex: 0 1 auto; justify-content: flex-end; margin-left: auto !important; }
.m-menu { gap: clamp(16px, 1.7vw, 30px); }
.m-header-actions .m-lang { padding-left: 24px; border-left: 1px solid var(--m-line); line-height: 1; }
@media (max-width: 1600px) { .m-phone { display: none; } }
@media (max-width: 1440px) { .m-logo span { display: none; } }

/* Single project / post: date only on blog posts */
.m-article .m-page-head .wp-block-post-date { display: none; }
.single-post .m-article .m-page-head .wp-block-post-date { display: block; }

/* Old-theme images & galleries inside the new design */
.m-us-image { margin: 0 0 24px; overflow: hidden; background: #2B3A32; }
.m-us-image a { display: block; }
.m-us-image img { display: block; width: 100%; height: auto; transition: transform .6s ease; }
.m-us-image:hover img { transform: scale(1.02); }
.m-us-gallery { display: grid; grid-template-columns: repeat(var(--m-cols, 3), minmax(0, 1fr)); gap: 24px; }
.m-us-gallery .m-us-image { margin: 0; aspect-ratio: 4 / 3; }
.m-us-gallery .m-us-image img { height: 100%; object-fit: cover; }
.m-us-sep { height: 1px; background: var(--m-line); margin: 32px 0; }
.m-us-row { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; }
.m-us-box h3 { font-size: 20px; margin: 0 0 8px; }
@media (max-width: 780px) { .m-us-gallery { grid-template-columns: 1fr 1fr; gap: 12px; } }

/* Project pages: let the photo rows use the full content width */
.m-article .wp-block-post-content.m-vc { max-width: none; }
.m-article .wp-block-post-content.m-vc > * { max-width: none !important; }
.m-article .wp-block-post-content.m-vc > p,
.m-article .wp-block-post-content.m-vc > h2,
.m-article .wp-block-post-content.m-vc > h3,
.m-article .wp-block-post-content.m-vc > ul,
.m-article .wp-block-post-content.m-vc > ol { max-width: 760px !important; }
.m-vc .vc_row { display: flex; flex-wrap: wrap; margin: 0 -12px 0; }
.m-vc .vc_column_container { padding: 0 12px; box-sizing: border-box; }
.m-vc .vc_column-inner, .m-vc .wpb_wrapper { padding: 0 !important; }

/* Footer ESPA badge never overflows */
.m-footer-bottom img { max-width: 100%; height: auto; max-height: 40px; }

/* ---------- v1.1: project details, texts, cards ---------- */
.m-details { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); margin: 0 0 clamp(40px, 5vw, 64px); border-top: 1px solid var(--m-ink); border-bottom: 1px solid var(--m-line); }
.m-details > div { padding: 20px 24px 20px 0; border-right: 1px solid var(--m-line); margin: 0; }
.m-details > div + div { padding-left: 24px; }
.m-details > div:last-child { border-right: 0; }
.m-details dt { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--m-mute); margin: 0 0 8px; }
.m-details dd { margin: 0; font-size: 18px; font-weight: 500; line-height: 1.35; }
@media (max-width: 780px) {
	.m-details { grid-template-columns: 1fr 1fr; }
	.m-details > div, .m-details > div + div { padding: 16px 12px 16px 0; border-right: 0; border-bottom: 1px solid var(--m-line); }
}
.m-acf-sections { max-width: 860px; margin: 0 0 clamp(48px, 6vw, 80px); display: flex; flex-direction: column; gap: clamp(36px, 4vw, 56px); }
.m-acf-section h2 { font-size: clamp(24px, 2.4vw, 32px); margin: 0 0 16px; }
.m-acf-body { font-size: 18px; line-height: 1.7; color: var(--m-body); }
.m-acf-body p { margin: 0 0 1em; }
.m-acf-body h3, .m-acf-item h3 { font-size: 20px; color: var(--m-ink); margin: 1.4em 0 .4em; }
.m-acf-item + .m-acf-item { border-top: 1px solid var(--m-line); padding-top: 4px; }
.m-gallery-wrap { margin-top: 0; }

.m-pgrid { display: grid; grid-template-columns: repeat(var(--m-cols, 3), minmax(0, 1fr)); gap: 48px 24px; margin: 24px 0; }
.m-pcard { display: flex; flex-direction: column; gap: 14px; }
.m-pcard > * { margin: 0; }
.m-pcard-img { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: #2B3A32; }
.m-pcard-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease; }
.m-pcard:hover .m-pcard-img img { transform: scale(1.03); }
.m-pcard-title { font-size: 20px; line-height: 1.3; }
.m-pcard-title a { color: var(--m-ink); }
.m-pcard-meta { display: flex; flex-wrap: wrap; gap: 4px 16px; margin: 0; }
.m-pcard-meta > div { display: flex; gap: 6px; margin: 0; }
.m-pcard-meta dt { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--m-mute); padding-top: 3px; }
.m-pcard-meta dt::after { content: ":"; }
.m-pcard-meta dd { margin: 0; font-size: 14px; font-weight: 500; }
.m-pcard-text { font-size: 15px; line-height: 1.55; color: var(--m-body); }
.m-pcard .m-arrow-link { margin-top: auto; }
@media (max-width: 960px) { .m-pgrid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .m-pgrid { grid-template-columns: 1fr; } }
.m-related { border-top: 1px solid var(--m-line); }
.m-related .m-pgrid { margin: 0; }

/* ---------- v1.1.1: real logo, WPForms look ---------- */
.m-logo a { display: block; line-height: 0; }
.m-logo-img { height: 44px; width: auto; display: block; }
@media (max-width: 780px) { .m-logo-img { height: 34px; } }
.m-footer-brand { line-height: 0; }
.m-footer-brand img { height: 40px; width: auto; }
.m-acf-body h2, .m-acf-body h3 { color: var(--m-ink); }
.m-acf-body h2 { font-size: clamp(24px, 2.4vw, 32px); margin: 1.4em 0 .5em; }
.m-acf-body > h2:first-child, .m-acf-body > h3:first-child { margin-top: 0; }
.m-form .wpforms-container { margin: 0 !important; }
.m-form .wpforms-field { padding: 0 0 18px !important; }
.m-form .wpforms-field-checkbox ul, .m-form .wpforms-field-radio ul { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 16px; }
.m-form .wpforms-field-checkbox li, .m-form .wpforms-field-radio li { display: flex; gap: 8px; align-items: center; font-size: 15px; margin: 0 !important; }
.m-form input[type=checkbox], .m-form input[type=radio] { accent-color: var(--m-green); width: 18px; height: 18px; }
.m-form .wpforms-submit-container { padding: 4px 0 0 !important; }
.m-form .wpforms-field-sublabel { font-size: 12px; color: var(--m-mute); }

/* ======================= v1.2 — Real estate ======================= */
.single-realestate .m-article > .m-page-head,
.single-realestate .m-article .wp-block-post-featured-image { display: none; }
.single-realestate .m-article-body { padding-top: 24px !important; }
.single-realestate .m-back { display: none; }
.m-re { --re-av: #1E3B2F; --re-av-soft: #E3EBE5; --re-rs: #B7791F; --re-rs-soft: #F7ECD9; --re-sd: #8A8F8B; --re-sd-soft: #E9E6DF; }
.m-re-crumb { margin: 0 0 20px; font-weight: 600; font-size: 15px; }
.m-btn, .m-btn-outline { display: inline-flex; align-items: center; justify-content: center; padding: 14px 24px; font-weight: 600; font-size: 15px; text-decoration: none !important; white-space: nowrap; }
.m-btn { background: var(--m-green); color: var(--m-ground) !important; }
.m-btn:hover { background: var(--m-ink); }
.m-btn-outline { border: 1px solid var(--m-ink); color: var(--m-ink) !important; }
.m-btn-outline:hover { background: var(--m-ink); color: var(--m-ground) !important; }

.m-re-badge { display: inline-block; font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; padding: 5px 9px; line-height: 1; }
.m-re-badge.is-available { background: var(--re-av); color: #F3F0E9; }
.m-re-badge.is-reserved { background: var(--re-rs-soft); color: #7A4F10; box-shadow: inset 0 0 0 1px var(--re-rs); }
.m-re-badge.is-sold { background: var(--re-sd-soft); color: #5B635D; }

/* Hero (building) */
.m-re-hero { position: relative; min-height: clamp(360px, 52vw, 640px); display: flex; align-items: flex-end; background: #2B3A32; overflow: hidden; margin: 0 0 0; }
.m-re-hero-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.m-re-hero::after { content: ""; position: absolute; inset: 40% 0 0; background: linear-gradient(transparent, rgba(12,20,16,.78)); }
.m-re-hero-txt { position: relative; z-index: 1; padding: clamp(24px, 4vw, 48px); color: #F3F0E9; max-width: 860px; }
.m-re-hero-txt .m-eyebrow { color: rgba(243,240,233,.75); }
.m-re-hero-txt h1 { margin: 10px 0 6px; font-size: clamp(40px, 6vw, 76px); color: #F3F0E9; }
.m-re-hero-sub { margin: 0; font-size: clamp(17px, 1.6vw, 21px); color: rgba(243,240,233,.88); }
.m-re-hero-addr { margin: 14px 0 0; font-family: 'JetBrains Mono', monospace; font-size: 13px; letter-spacing: .04em; color: rgba(243,240,233,.8); }
.m-re-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); border-bottom: 1px solid var(--m-line); }
.m-re-facts div { padding: 24px 24px 24px 0; display: flex; flex-direction: column; gap: 4px; }
.m-re-facts div + div { padding-left: 24px; border-left: 1px solid var(--m-line); }
.m-re-facts b { font-size: clamp(26px, 2.6vw, 34px); font-weight: 600; line-height: 1.1; }
.m-re-facts span { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--m-mute); }

/* Sticky section tabs */
.m-re-tabs { position: sticky; top: 88px; z-index: 30; display: flex; gap: 4px; overflow-x: auto; background: var(--m-ground); border-bottom: 1px solid var(--m-line); margin: 0 0 8px; scrollbar-width: none; }
.admin-bar .m-re-tabs { top: 120px; }
.m-re-tabs::-webkit-scrollbar { display: none; }
.m-re-tabs a { padding: 16px 16px; font-size: 15px; font-weight: 500; color: var(--m-ink); white-space: nowrap; text-decoration: none !important; }
.m-re-tabs a:hover { color: var(--m-green); box-shadow: inset 0 -2px 0 var(--m-green); }
.m-re-tabs a.is-cta { margin-left: auto; color: var(--m-green); font-weight: 600; }
@media (max-width: 1100px) { .m-re-tabs, .admin-bar .m-re-tabs { top: 64px; } }
@media (max-width: 782px) { .admin-bar .m-re-tabs { top: 64px; } }

.m-re-sec { padding: clamp(40px, 5vw, 72px) 0 0; scroll-margin-top: 150px; }
.m-re-sec > h2 { margin: 0 0 24px; font-size: clamp(28px, 3vw, 40px); }
.m-re-sec-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; margin: 0 0 28px; }
.m-re-sec-head h2 { margin: 8px 0 0; font-size: clamp(28px, 3vw, 40px); }
.m-re-sec-head > p { margin: 0; max-width: 420px; color: var(--m-body); }
.m-re-sec-head--gap { margin-top: clamp(64px, 8vw, 104px); }
.m-re-legend { display: flex; gap: 16px; margin: 0; font-size: 13px; color: var(--m-body); }
.m-re-legend span::before { content: ""; display: inline-block; width: 12px; height: 12px; margin-right: 6px; vertical-align: -1px; }
.m-re-legend .is-available::before { background: var(--re-av); }
.m-re-legend .is-reserved::before { background: var(--re-rs-soft); box-shadow: inset 0 0 0 2px var(--re-rs); }
.m-re-legend .is-sold::before { background: var(--re-sd-soft); box-shadow: inset 0 0 0 1px var(--m-line); }

/* Building "stack" — floors with apartments */
.m-re-stack { display: flex; flex-direction: column; gap: 6px; padding-bottom: 6px; border-bottom: 3px solid var(--m-ink); max-width: 980px; }
.m-re-floor { display: grid; grid-template-columns: 56px 1fr; gap: 8px; align-items: stretch; }
.m-re-floor-n { font-family: 'JetBrains Mono', monospace; font-size: 12px; color: var(--m-mute); display: flex; align-items: center; justify-content: flex-end; padding-right: 6px; }
.m-re-floor-units { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 6px; }
.m-re-unit { display: flex; flex-direction: column; gap: 2px; padding: 14px 16px; min-height: 78px; text-decoration: none !important; transition: transform .12s, filter .15s; position: relative; }
.m-re-unit:hover { filter: brightness(1.08); }
.m-re-unit:active { transform: scale(.985); }
.m-re-unit b { font-size: 24px; line-height: 1; font-weight: 700; }
.m-re-unit span { font-size: 13px; }
.m-re-unit em { position: absolute; right: 12px; top: 12px; font-style: normal; font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
.m-re-unit.is-available { background: var(--re-av); color: #F3F0E9; }
.m-re-unit.is-available em { color: var(--m-sage); }
.m-re-unit.is-reserved { background: var(--re-rs-soft); color: #7A4F10; box-shadow: inset 0 0 0 2px var(--re-rs); }
.m-re-unit.is-sold { background: var(--re-sd-soft); color: #7C827D; box-shadow: inset 0 0 0 1px var(--m-line); }

/* Table of apartments */
.m-re-table { margin-top: 32px; border-top: 1px solid var(--m-ink); }
.m-re-tr { display: grid; grid-template-columns: 1.1fr 1fr 1fr .7fr 1.6fr .8fr; gap: 12px; align-items: center; padding: 14px 4px; border-bottom: 1px solid var(--m-line); color: var(--m-ink); text-decoration: none !important; font-size: 15px; }
.m-re-tr.is-head { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--m-mute); }
a.m-re-tr:hover { background: var(--m-paper); }
.m-re-tr.is-sold { color: var(--m-mute); }
.m-re-tr small { color: var(--m-body); font-size: 13px; margin-left: 6px; }
.m-re-go { text-align: right; font-weight: 600; color: var(--m-green); font-size: 14px; }
@media (max-width: 780px) {
	.m-re-floor { grid-template-columns: 40px 1fr; }
	.m-re-floor-units { grid-template-columns: 1fr 1fr; }
	.m-re-unit b { font-size: 20px; }
	.m-re-unit em { position: static; margin-top: 4px; }
	.m-re-tr { grid-template-columns: 1fr 1fr auto; }
	.m-re-tr.is-head { display: none; }
	.m-re-tr span:nth-child(2), .m-re-tr span:nth-child(4), .m-re-go { display: none; }
}

.m-re-about .m-details { margin-bottom: 32px; }
.m-re-about .m-acf-body { max-width: 860px; }
.m-re .m-vc { margin-top: 8px; }

/* Map */
.m-re-map iframe { width: 100%; height: clamp(280px, 38vw, 440px); border: 0; display: block; filter: grayscale(.35); }
.m-re-map-bar { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin: 0; padding: 14px 0; border-bottom: 1px solid var(--m-line); font-size: 15px; }
.m-re-map-bar a { font-weight: 600; }
.m-re-pdf { margin: 40px 0 0; }

/* Link to the full mini site */
.m-re-mini { margin: clamp(48px, 6vw, 80px) 0 0; padding: clamp(24px, 3vw, 40px); background: var(--m-green); color: var(--m-ground); display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; }
.m-re-mini h3 { margin: 8px 0; font-size: clamp(22px, 2.2vw, 28px); color: var(--m-ground); }
.m-re-mini p { margin: 0; color: rgba(243,240,233,.8); }
.m-re-mini .m-eyebrow { color: var(--m-sage); }
.m-re-mini .m-btn { background: var(--m-ground); color: var(--m-ink) !important; }

/* Apartment page head */
.m-re-unit-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; flex-wrap: wrap; padding: 8px 0 32px; }
.m-re-unit-head h1 { margin: 10px 0 0; font-size: clamp(32px, 4vw, 56px); max-width: 820px; }
.m-re-price { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; min-width: 240px; }
.m-re-price b { font-size: 22px; font-weight: 600; }
.m-re-unit-img { margin: 0 0 32px; background: #2B3A32; }
.m-re-unit-img img { width: 100%; height: auto; max-height: 720px; object-fit: cover; display: block; }

/* Listing: building cards */
.m-re-buildings { display: flex; flex-direction: column; gap: 24px; }
.m-re-bcard { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); background: var(--m-paper); border: 1px solid var(--m-line); color: var(--m-ink); text-decoration: none !important; transition: border-color .15s; }
.m-re-bcard:hover { border-color: var(--m-ink); }
.m-re-bcard-img { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: #2B3A32; }
.m-re-bcard-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease; }
.m-re-bcard:hover .m-re-bcard-img img { transform: scale(1.03); }
.m-re-bcard-body { padding: clamp(24px, 3vw, 44px); display: flex; flex-direction: column; gap: 12px; }
.m-re-bcard-name { font-size: clamp(30px, 3vw, 44px); font-weight: 600; line-height: 1.05; letter-spacing: -.015em; }
.m-re-bcard-sub { color: var(--m-body); font-size: 16px; }
.m-re-bcard-stats { font-size: 15px; color: var(--m-ink); }
.m-re-bcard-stats strong { color: var(--m-green); }
.m-re-bcard-go { margin-top: auto; padding-top: 12px; font-weight: 600; color: var(--m-green); }
.m-re-bcard.is-sold .m-re-bcard-img img { filter: grayscale(.8); }
.m-re-dots { display: flex; flex-wrap: wrap; gap: 4px; }
.m-re-dots i { width: 14px; height: 14px; display: block; }
.m-re-dots i.is-available { background: var(--re-av); }
.m-re-dots i.is-reserved { background: var(--re-rs-soft); box-shadow: inset 0 0 0 2px var(--re-rs); }
.m-re-dots i.is-sold { background: var(--re-sd-soft); box-shadow: inset 0 0 0 1px var(--m-line); }
@media (max-width: 860px) { .m-re-bcard { grid-template-columns: 1fr; } }

/* Listing: standalone block */
.m-re-singles { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); background: var(--m-ink); color: var(--m-ground); text-decoration: none !important; }
.m-re-singles-imgs { display: grid; grid-template-columns: 2fr 1fr; grid-template-rows: 1fr 1fr; gap: 2px; aspect-ratio: 16 / 10; }
.m-re-singles-imgs span { overflow: hidden; background: #2B3A32; }
.m-re-singles-imgs span:first-child { grid-row: span 2; }
.m-re-singles-imgs img { width: 100%; height: 100%; object-fit: cover; display: block; }
.m-re-singles-body { padding: clamp(24px, 3vw, 44px); display: flex; flex-direction: column; gap: 12px; }
.m-re-singles-body b { font-size: clamp(26px, 2.6vw, 36px); font-weight: 600; }
.m-re-singles-body span { color: rgba(243,240,233,.8); }
.m-re-singles .m-re-bcard-go { color: var(--m-sage); }
@media (max-width: 860px) { .m-re-singles { grid-template-columns: 1fr; } }

/* Standalone cards */
.m-re-card .m-pcard-img { position: relative; }
.m-re-card .m-re-badge { position: absolute; left: 12px; top: 12px; }
.m-re-card.is-sold .m-pcard-img img { filter: grayscale(.8); }
.m-re-meta { font-size: 14px; color: var(--m-body); }
.m-re-card-price { font-weight: 600; font-size: 16px; }

/* ---------- v1.4.1: never scroll sideways on phones ---------- */
html, body { max-width: 100%; overflow-x: hidden; }
@supports (overflow: clip) { html, body { overflow-x: clip; } }
.wp-site-blocks { overflow-x: clip; }
img, video, iframe, table { max-width: 100%; }
.m-vc .vc_row { margin-left: 0 !important; margin-right: 0 !important; }
.m-vc .vc_column_container { padding-left: 0; padding-right: 0; }
.has-ms .wp-block-post-content { padding-left: 0 !important; padding-right: 0 !important; }
@media (max-width: 780px) {
	.m-vc .vc_row { flex-direction: column; }
	.m-vc .vc_column_container { width: 100% !important; }
}

/* v1.4.3: header on phones — the CTA button was kept visible by WordPress' flex rule */
@media (max-width: 780px) {
	.m-header .m-header-actions,
	.m-header .wp-block-buttons.m-header-cta { display: none !important; }
	.m-header-inner { gap: 12px; }
	.m-logo { min-width: 0; }
}
@media (max-width: 1100px) {
	.m-header .m-header-actions .m-lang { display: none !important; }
}


/* =====================================================================
   Εκδοχή E — λευκή, «Τι θέλετε να κάνετε;»
   ===================================================================== */
:root {
	--e-ink: #131416; --e-body: #50544E; --e-mute: #6A6E68; --e-line: #E7E8E3; --e-soft: #F4F5F1;
	--e-lime: #8CC63F; --e-green: #3F6B14; --e-dark: #131416; --e-dline: #33352F; --e-r: 6px;
	--e-pad: clamp(16px, 4vw, 56px);
	/* τα d-* χρησιμοποιούνται από τη σελίδα ανακαίνισης και τα mini sites */
	--d-ink: #131416; --d-ground: #F4F5F1; --d-lime: #8CC63F; --d-green: #3F6B14; --d-mute: #6A6E68; --d-body: #50544E; --d-dline: #33352F; --d-gut: var(--e-pad);
	--m-ink: #131416; --m-ground: #FFFFFF; --m-paper: #FFFFFF; --m-sand: #F4F5F1; --m-line: #E7E8E3; --m-green: #3F6B14; --m-mute: #6A6E68; --m-body: #50544E;
}
html, body { background: #fff; }
body { font-family: 'Geologica', system-ui, sans-serif; color: var(--e-ink); }
.e-cap { font-size: 12px; letter-spacing: .18em; text-transform: uppercase; color: var(--e-mute); font-weight: 500; }
.e-link { color: var(--e-green) !important; font-weight: 600; text-decoration: none !important; }
.e-link:hover { text-decoration: underline !important; }
.e-home { padding: 0 !important; }
.e-home > * + * { margin-block-start: 0 !important; }
.e-home h2 { margin: 0; font-size: clamp(32px, 3.4vw, 48px); line-height: 1.05; font-weight: 600; letter-spacing: -.015em; }
.e-sec { padding: clamp(56px, 7vw, 110px) var(--e-pad) 0; display: flex; flex-direction: column; gap: 36px; }
.e-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px 32px; flex-wrap: wrap; }
.e-head > div { display: flex; flex-direction: column; gap: 16px; }

/* shared D-classes in E look (used by the renovation page) */
.d-mono { font-family: inherit; letter-spacing: .06em; }
.d-sheet { font-size: 12px; letter-spacing: .18em; text-transform: uppercase; color: var(--e-mute); font-weight: 500; margin: 0; }
.d-sheet a { color: var(--e-green); letter-spacing: 0; text-transform: none; font-size: 15px; font-weight: 600; }
.d-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px 32px; flex-wrap: wrap; padding: 0 0 20px; }
.d-head h2 { margin: 0; font-weight: 600; line-height: 1.05; letter-spacing: -.015em; }
.d-q, .e-q { color: var(--e-lime); }
.d-mark { background: none; color: inherit; box-shadow: inset 0 -.28em 0 var(--e-lime); padding: 0; }
.d-axis { list-style: none; margin: 0; padding: 0; position: relative; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 24px; }
.d-axis::before { content: ""; position: absolute; left: 0; right: 0; top: 18px; height: 2px; background: var(--e-lime); }
.d-axis li { position: relative; display: flex; flex-direction: column; gap: 12px; margin: 0; }
.d-axis-n { width: 38px; height: 38px; border-radius: 50%; background: var(--e-lime); color: var(--e-ink); display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 600; }
.d-axis li.is-last .d-axis-n { background: #fff; }
.d-axis b { font-size: 19px; font-weight: 500; }
.d-axis-t { font-size: 14px; line-height: 1.5; color: #A9ADA6; }
.d-btn-line { height: 56px; display: flex; align-items: center; justify-content: space-between; padding: 0 22px; border: 1.5px solid rgba(255,255,255,.5); border-radius: 0; color: #fff !important; font-size: 16px; text-decoration: none !important; }
.d-btn-line.is-dim { border-color: var(--e-dline); }
.d-btn-line:hover { border-color: var(--e-lime); }
@media (max-width: 960px) {
	.d-axis { grid-template-columns: 1fr; gap: 18px; padding-left: 50px; }
	.d-axis::before { left: 18px; right: auto; top: 8px; bottom: 8px; width: 2px; height: auto; }
	.d-axis-n { position: absolute; left: -50px; top: -4px; }
}

/* ---------- Header ---------- */
.m-header.e-header { background: rgba(255,255,255,.97); border-bottom: 1px solid var(--e-line); padding: 0 var(--e-pad) !important; position: sticky; top: 0; z-index: 50; backdrop-filter: blur(6px); }
.admin-bar .m-header.e-header { top: 32px; }
.e-header .m-header-inner { max-width: none !important; min-height: 88px; gap: 32px !important; }
.e-header .m-logo-img { height: 40px; width: auto; }
.e-header .m-menu { gap: 30px; }
.e-header .m-menu > li > a { color: var(--e-ink); font-size: 15px; font-weight: 400; box-shadow: none !important; }
.e-header .m-menu > li > a:hover, .e-header .m-menu > .current-menu-item > a { color: var(--e-green); }
.e-header .m-menu .sub-menu { border: 1px solid var(--e-line); border-radius: var(--e-r); box-shadow: 0 12px 32px rgba(0,0,0,.08); background: #fff; }
.e-header .m-phone { font-weight: 600; font-size: 15px; }
.e-header .m-phone a { color: var(--e-ink); }
.e-header .m-phone a::before { content: "☏ "; }
.e-header .m-header-cta .wp-block-button__link { border-radius: 0; background: var(--e-lime) !important; color: var(--e-ink) !important; padding: 12px 22px; font-size: 14px; }
.e-header .m-header-cta .wp-block-button__link:hover { background: var(--e-ink) !important; color: #fff !important; }
.e-header .m-burger-panel { background: #fff; border-top: 1px solid var(--e-line); }
@media (max-width: 1100px) { .e-header .m-header-inner { min-height: 64px; } .e-header .m-logo-img { height: 32px; } }
@media (max-width: 782px) { .admin-bar .m-header.e-header { top: 0; } #wpadminbar { overflow: hidden; } }

/* ---------- Hero ---------- */
.e-hero { padding: clamp(40px, 5vw, 72px) var(--e-pad) 0; display: flex; flex-direction: column; gap: clamp(28px, 3vw, 44px); }
.e-hero-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px 48px; flex-wrap: wrap; }
.e-hero h1 { margin: 0; font-size: clamp(44px, 5.3vw, 76px); line-height: 1; font-weight: 600; letter-spacing: -.025em; }
.e-hero-head p { margin: 0; font-size: 18px; line-height: 1.55; color: var(--e-body); max-width: 420px; }
.e-doors { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.e-door { position: relative; display: flex; align-items: flex-end; min-height: clamp(420px, 43vw, 620px); overflow: hidden; border-radius: var(--e-r); color: #fff !important; text-decoration: none !important; background: #2B3A32; }
.e-door img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.e-door:hover img { transform: scale(1.04); }
.e-door-shade { position: absolute; inset: 35% 0 0; background: linear-gradient(transparent, rgba(12,13,14,.88)); }
.e-badge { position: absolute; left: 24px; top: 24px; padding: 6px 12px; border-radius: 16px; background: var(--e-lime); color: var(--e-ink); font-size: 13px; font-weight: 600; }
.e-door-body { position: relative; padding: clamp(20px, 2.3vw, 32px); display: flex; flex-direction: column; gap: 12px; width: 100%; }
.e-door-who { font-size: 14px; opacity: .85; }
.e-door-title { font-size: clamp(28px, 2.8vw, 40px); line-height: 1.05; font-weight: 600; }
.e-door-foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: 15px; }
.e-door-foot > span { opacity: .9; }
.e-door-foot i { font-style: normal; flex: none; width: 48px; height: 48px; border-radius: 50%; background: var(--e-lime); color: var(--e-ink); display: flex; align-items: center; justify-content: center; font-size: 20px; transition: transform .15s; }
.e-door:hover .e-door-foot i { transform: translateX(4px); }
.e-hero-links { margin: -16px 0 0; font-size: 14px; color: var(--e-mute); }
.e-hero-links a { color: var(--e-green); font-weight: 500; }
.e-trust { padding: 24px 0; border-top: 1px solid var(--e-line); border-bottom: 1px solid var(--e-line); display: flex; justify-content: space-between; gap: 12px 24px; flex-wrap: wrap; font-size: 15px; color: var(--e-body); }
.e-trust b { color: var(--e-ink); }

/* ---------- Featured project ---------- */
.e-feature { padding: clamp(56px, 7vw, 110px) var(--e-pad) 0; display: grid; grid-template-columns: minmax(0, 420px) minmax(0, 1fr); gap: clamp(32px, 4.5vw, 64px); align-items: center; }
.e-feature-copy { display: flex; flex-direction: column; gap: 20px; }
.e-feature-copy > * { margin: 0; }
.e-feature-copy h2 { font-size: clamp(30px, 3vw, 44px) !important; }
.e-feature-copy p { font-size: 17px; line-height: 1.6; color: var(--e-body); }
.e-feature-media { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 12px; height: clamp(320px, 38vw, 560px); }
.e-feature-media > span { display: block; border-radius: var(--e-r); overflow: hidden; }
.e-feature-main:only-child { grid-column: 1 / -1; }
.e-feature-main img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .7s ease; }
.e-feature-media:hover .e-feature-main img { transform: scale(1.03); }
.e-feature-side { display: grid !important; grid-template-rows: 1fr 1fr; gap: 12px; border-radius: 0 !important; }
.e-feature-side img { width: 100%; height: 100%; object-fit: cover; border-radius: var(--e-r); display: block; }

/* ---------- Why ---------- */
.e-why { margin-top: clamp(56px, 7vw, 110px); padding: clamp(56px, 7vw, 100px) var(--e-pad); background: var(--e-dark); color: #F3F4EF; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.e-why-head { padding-right: 32px; display: flex; flex-direction: column; gap: 16px; }
.e-why-head .e-cap { color: var(--e-lime); }
.e-why-head h2 { color: #F3F4EF; font-size: clamp(30px, 2.8vw, 40px) !important; font-weight: 500 !important; line-height: 1.1 !important; }
.e-why-item { padding: 0 32px; border-left: 1px solid var(--e-dline); display: flex; flex-direction: column; gap: 14px; }
.e-why-item > * { margin: 0; }
.e-why-n { font-size: 44px; font-weight: 300; color: var(--e-lime); }
.e-why-item h3 { font-size: 20px; font-weight: 500; color: #F3F4EF; }
.e-why-item p { font-size: 15px; line-height: 1.55; color: #A9ADA6; }

/* ---------- Properties ---------- */
.e-props-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.e-prop { display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); border: 1px solid var(--e-line); border-radius: var(--e-r); overflow: hidden; color: var(--e-ink) !important; text-decoration: none !important; transition: box-shadow .2s, border-color .2s; }
.e-prop:hover { border-color: #cfd1ca; box-shadow: 0 12px 32px rgba(0,0,0,.07); }
.e-prop-img { display: block; min-height: 240px; background: var(--e-soft); }
.e-prop-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.e-prop-body { padding: 28px; display: flex; flex-direction: column; gap: 10px; }
.e-prop-place { font-size: 13px; color: var(--e-mute); }
.e-prop b { font-size: 28px; font-weight: 600; line-height: 1.1; }
.e-prop-facts { font-size: 15px; color: var(--e-body); }
.e-prop-foot { margin-top: auto; display: flex; justify-content: space-between; align-items: center; }
.e-prop-foot i { font-style: normal; font-weight: 600; }
.e-pill { padding: 5px 12px; border-radius: 14px; background: #EAF4DC; color: #2D4F0C; font-size: 13px; font-weight: 600; }
.e-pill.is-sold { background: var(--e-soft); color: var(--e-mute); }

/* ---------- Mosaic ---------- */
.e-mosaic { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: 260px 260px; gap: 12px; }
.e-mosaic a { position: relative; display: block; overflow: hidden; border-radius: var(--e-r); background: var(--e-soft); }
.e-mosaic a:first-child { grid-column: span 2; grid-row: span 2; }
.e-mosaic img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .7s ease; }
.e-mosaic a:hover img { transform: scale(1.04); }
.e-mosaic span { position: absolute; left: 12px; right: 12px; bottom: 12px; padding: 8px 12px; border-radius: 16px; background: rgba(255,255,255,.94); color: var(--e-ink); font-size: 13px; font-weight: 500; opacity: 0; transform: translateY(6px); transition: .2s; }
.e-mosaic a:hover span, .e-mosaic a:focus span { opacity: 1; transform: none; }

/* ---------- Contact ---------- */
.e-contact { margin: clamp(56px, 7vw, 110px) var(--e-pad) 0 !important; border-radius: 10px; background: var(--e-lime); padding: clamp(28px, 5vw, 72px); display: flex; flex-direction: column; gap: 40px; scroll-margin-top: 100px; }
.e-contact-top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 460px); gap: 32px 64px; align-items: center; }
.e-contact h2 { font-size: clamp(34px, 4.4vw, 64px) !important; line-height: 1 !important; letter-spacing: -.02em !important; }
.e-btns { display: flex; flex-direction: column; gap: 12px; }
.e-btn { height: 60px; display: flex; align-items: center; justify-content: space-between; padding: 0 24px; border: 1.5px solid var(--e-ink); border-radius: 0; color: var(--e-ink) !important; font-weight: 500; font-size: 16px; text-decoration: none !important; }
.e-btn.is-dark { background: var(--e-ink); color: #fff !important; font-weight: 600; }
.e-btn:hover { background: #fff; }
.e-btn.is-dark:hover { background: #2a2c2f; }
.e-contact-form { background: #fff; border-radius: var(--e-r); padding: clamp(20px, 3vw, 36px) !important; }
.m-form input[type=text], .m-form input[type=email], .m-form input[type=tel], .m-form select, .m-form textarea { border: 1px solid #D5D7D0 !important; border-radius: var(--e-r) !important; background: #fff !important; }
.m-form input[type=submit], .m-form button[type=submit], .wpforms-submit, .wpcf7-submit { background: var(--e-ink) !important; color: #fff !important; border-radius: 0 !important; border: 0 !important; padding: 16px 30px !important; font-weight: 600 !important; }

/* ---------- Footer ---------- */
.m-footer.e-footer { background: #fff; color: var(--e-body); padding: clamp(40px, 5vw, 64px) var(--e-pad) 32px !important; border-top: 0; }
.e-foot { display: flex; flex-direction: column; gap: 22px; font-size: 14px; }
.e-foot a { color: var(--e-body); }
.e-foot a:hover { color: var(--e-green); }
.e-foot-top { display: flex; justify-content: space-between; align-items: center; gap: 20px 40px; flex-wrap: wrap; border-top: 1px solid var(--e-line); padding-top: 28px; }
.e-foot-logo { height: 32px; width: auto; }
.e-foot-nav { display: flex; flex-wrap: wrap; gap: 8px 26px; }
.e-foot-nav a { color: var(--e-ink); font-size: 15px; }
.e-foot-row { display: flex; justify-content: space-between; gap: 12px 24px; flex-wrap: wrap; }
.e-foot-legal { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; border-top: 1px solid var(--e-line); padding-top: 18px; font-size: 13px; color: var(--e-mute); }
.e-espa img { height: 30px; width: auto; max-width: 100%; display: block; }

/* ---------- Inner pages ---------- */
.m-page-head { background: var(--e-soft) !important; border: 0; }
.m-page-head h1, .m-page-head .wp-block-post-title { font-weight: 600; letter-spacing: -.02em; }
.m-archive .wp-block-post, .m-pcard { border: 1px solid var(--e-line); border-radius: var(--e-r); overflow: hidden; background: #fff; }
.m-pcard { padding-bottom: 16px; }
.m-pcard > *:not(.m-pcard-img) { padding: 0 16px; }
.m-archive .wp-block-post > *:not(.wp-block-post-featured-image) { padding-left: 16px; padding-right: 16px; }
.m-details { border-radius: var(--e-r); background: var(--e-soft); border: 0; }
.wp-block-image img, .m-article-body img { border-radius: var(--e-r); }
.wp-element-button, .wp-block-button__link { border-radius: 0; }
.has-ms .m-main, .has-ms main { padding-top: 0 !important; }

/* ---------- Mobile ---------- */
@media (max-width: 1100px) {
	.e-why { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 40px; }
	.e-why-head { grid-column: 1 / -1; padding-right: 0; }
	.e-why-item:first-of-type { border-left: 0; padding-left: 0; }
	.e-props-grid { grid-template-columns: 1fr; }
}
@media (max-width: 960px) {
	.e-doors { grid-template-columns: 1fr; gap: 12px; }
	.e-door { min-height: 220px; }
	.e-door-title { font-size: 28px; }
	.e-feature { grid-template-columns: 1fr; }
	.e-feature-media { height: 300px; grid-template-columns: 1fr; }
	.e-feature-side { display: none !important; }
	.e-why { grid-template-columns: 1fr; }
	.e-why-item { border-left: 0; border-top: 1px solid var(--e-dline); padding: 24px 0 0; }
	.e-mosaic { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: 220px 150px 150px; gap: 8px; }
	.e-mosaic a:first-child { grid-column: span 2; grid-row: span 1; }
	.e-mosaic span { opacity: 1; transform: none; font-size: 12px; }
	.e-contact-top { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
	.e-hero-links { margin-top: -8px; }
	.e-trust { font-size: 14px; }
	.e-trust span { width: calc(50% - 12px); }
	.e-prop { grid-template-columns: 120px minmax(0, 1fr); }
	.e-prop-img { min-height: 150px; }
	.e-prop-body { padding: 16px; gap: 6px; }
	.e-prop b { font-size: 21px; }
	.e-prop-facts { font-size: 13px; }
	.e-mosaic a:nth-child(n+4) { display: none; }
	.e-mosaic { grid-template-rows: 220px 150px; }
}
@media (max-width: 780px) {
	.m-header .m-header-actions, .m-header .wp-block-buttons.m-header-cta { display: none !important; }
}

/* =====================================================================
   Σελίδα «Ανακαίνιση σπιτιού» (SEO) — εκδοχή E
   ===================================================================== */
.rn-main { padding: 0 !important; }
.rn { padding-bottom: 72px; }
.rn > * { margin-left: var(--d-gut); margin-right: var(--d-gut); }
.rn h2, .rn h3 { letter-spacing: -.015em; }
.rn .d-head h2 { font-size: clamp(30px, 3.8vw, 52px); }
.rn-link { color: var(--d-green) !important; font-weight: 600; border-bottom: 1.5px solid var(--d-lime); text-decoration: none !important; }
.rn-crumb { display: flex; justify-content: space-between; gap: 12px 24px; flex-wrap: wrap; border: 1px solid #E7E8E3; border-top: 0; background: #fff; padding: 12px 28px; font-size: 12px; text-transform: uppercase; }
.rn-crumb a { color: var(--d-mute); }
.rn-crumb i { font-style: normal; color: var(--d-mute); }
.rn-crumb-r { color: var(--d-mute); }

/* Hero + form */
.rn-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 500px); border: 1px solid #E7E8E3; border-top: 0; background: var(--d-ground); }
.rn-hero-copy { padding: clamp(28px, 4vw, 56px); display: flex; flex-direction: column; gap: 26px; border-right: 1px solid #E7E8E3; }
.rn-hero h1 { margin: 0; font-size: clamp(40px, 5.6vw, 80px); line-height: .98; font-weight: 600; letter-spacing: -.025em; }
.rn-lead { margin: 0; font-size: clamp(17px, 1.4vw, 20px); line-height: 1.55; color: var(--d-body); max-width: 640px; }
.rn-promises { margin: 0; padding: 0; list-style: none; border: 1px solid #E7E8E3; background: #fff; }
.rn-promises li { display: grid; grid-template-columns: 52px 1fr; border-top: 1px solid #E7E8E3; margin: 0; }
.rn-promises li:first-child { border-top: 0; }
.rn-promises .d-mono { display: flex; align-items: center; justify-content: center; background: var(--d-lime); border-right: 1px solid #E7E8E3; font-size: 13px; }
.rn-promises li > span:last-child { padding: 14px 18px; font-size: 16px; line-height: 1.45; }
.rn-figs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid #E7E8E3; }
.rn-figs > div { padding: 14px 16px; display: flex; flex-direction: column; gap: 4px; border-left: 1px solid #E7E8E3; }
.rn-figs > div:first-child { border-left: 0; }
.rn-figs .d-mono { font-size: 11px; color: var(--d-mute); text-transform: uppercase; }
.rn-figs b { font-size: clamp(17px, 1.8vw, 26px); font-weight: 500; }

.rn-form { margin: 0; padding: clamp(22px, 3vw, 40px); background: #fff; display: flex; flex-direction: column; gap: 16px; scroll-margin-top: 120px; }
.rn-form-top { display: flex; justify-content: space-between; font-size: 12px; color: var(--d-mute); text-transform: uppercase; }
.rn-bar { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.rn-bar i { height: 6px; background: #E4E3DC; }
.rn-bar i.on { background: var(--d-lime); }
.rn-step { border: 0; margin: 0; padding: 0; display: none; flex-direction: column; gap: 14px; min-width: 0; }
.rn-step.is-on { display: flex; }
.rn-step legend { font-size: clamp(20px, 2vw, 26px); font-weight: 600; line-height: 1.2; padding: 0; margin-bottom: 4px; }
.rn-step label.d-mono { display: flex; flex-direction: column; gap: 8px; font-size: 12px; color: var(--d-mute); text-transform: uppercase; }
.rn-step input:not([type=checkbox]), .rn-step select { height: 54px; box-sizing: border-box; border: 1px solid #E7E8E3; border-radius: 0; padding: 0 14px; font: 400 17px 'Geologica', sans-serif; letter-spacing: 0; text-transform: none; background: #fff; color: var(--d-ink); width: 100%; }
.rn-step input:focus, .rn-step select:focus { outline: 2px solid var(--d-lime); outline-offset: 0; }
.rn-step .is-bad { border-color: #B3261E !important; background: #FFF6F5 !important; }
.rn-check { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; line-height: 1.4; }
.rn-check input { width: 20px; height: 20px; accent-color: var(--d-green); flex: none; margin-top: 1px; }
.rn-hp { position: absolute !important; left: -9999px !important; }
.rn-err { margin: 0; color: #B3261E; font-size: 14px; }
.rn-form-nav { display: flex; gap: 10px; }
.rn-next { flex: 1; height: 58px; border: 1px solid #E7E8E3; background: var(--d-lime); color: var(--d-ink); font: 600 17px 'Geologica', sans-serif; display: flex; align-items: center; justify-content: space-between; padding: 0 22px; cursor: pointer; border-radius: 0; }
.rn-next:hover { background: var(--d-ink); color: var(--d-lime); }
.rn-next:disabled { opacity: .6; cursor: default; }
.rn-back { height: 58px; border: 1px solid #E7E8E3; background: #fff; padding: 0 18px; font: 500 15px 'Geologica', sans-serif; cursor: pointer; border-radius: 0; color: var(--d-ink); }
.rn-done { border: 1px solid #E7E8E3; background: rgba(140,198,63,.2); padding: 18px; font-size: 16px; line-height: 1.5; }
.rn-done b { display: block; font-size: 20px; margin-bottom: 4px; }
.rn-form-note { margin: 0; font-size: 14px; line-height: 1.5; color: var(--d-body); }
.rn-trust { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; border-top: 1px dashed #D5D7D0; padding-top: 12px; font-size: 11px; color: var(--d-mute); text-transform: uppercase; }
.rn-trust a { color: var(--d-ink); }

/* Intro + TOC */
.rn-intro { margin-top: 72px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 420px); gap: 24px; }
.rn-def { border: 1px solid #E7E8E3; background: #fff; padding: clamp(24px, 3vw, 40px); display: flex; flex-direction: column; gap: 16px; }
.rn-def p { margin: 0; font-size: 17px; line-height: 1.6; color: var(--d-body); }
.rn-def .rn-def-big { font-size: clamp(19px, 1.8vw, 24px); line-height: 1.45; font-weight: 300; color: var(--d-ink); }
.rn-def-big b { font-weight: 600; }
.rn-toc { border: 1px solid #E7E8E3; display: flex; flex-direction: column; background: var(--d-ground); }
.rn-toc > span { padding: 14px 22px; background: var(--d-ink); color: var(--d-lime); font-size: 12px; text-transform: uppercase; }
.rn-toc ol { margin: 0; padding: 8px 22px 14px; list-style: none; font-size: 13px; line-height: 2.2; }
.rn-toc a { color: var(--d-ink); }
.rn-toc a:hover { color: var(--d-green); }

/* Sections */
.rn-sec { margin-top: 72px; scroll-margin-top: 110px; }
.rn-sec-lead { margin: -4px 4px 20px; font-size: 18px; line-height: 1.6; color: var(--d-body); max-width: 980px; }
.rn-cells { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: #E7E8E3; border: 1px solid #E7E8E3; }
.rn-cells li { margin: 0; background: #fff; padding: 22px; display: flex; flex-direction: column; gap: 8px; min-height: 140px; }
.rn-cells .d-mono { font-size: 12px; color: var(--d-mute); text-transform: uppercase; }
.rn-cells b { font-size: 18px; font-weight: 600; }
.rn-cells li > span:last-child { font-size: 15px; line-height: 1.5; color: var(--d-body); }
.rn-cells .is-out { background: repeating-linear-gradient(135deg, #F4F3EE 0 8px, #E9E8E1 8px 9px); }

.rn-pkgs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid #E7E8E3; }
.rn-pkg { background: #fff; border-left: 1px solid #E7E8E3; display: flex; flex-direction: column; }
.rn-pkg:first-child { border-left: 0; }
.rn-pkg-bar { padding: 12px 20px; border-bottom: 1px solid #E7E8E3; font-size: 12px; display: flex; justify-content: space-between; gap: 10px; text-transform: uppercase; }
.rn-pkg.is-mid .rn-pkg-bar { background: var(--d-lime); }
.rn-pkg-body { padding: 26px 24px; display: flex; flex-direction: column; gap: 12px; flex-grow: 1; }
.rn-pkg h3 { margin: 0; font-size: 32px; font-weight: 600; }
.rn-pkg .rn-price { margin: 0; font-size: 18px; }
.rn-pkg .rn-price b { font-size: 44px; font-weight: 600; letter-spacing: -.02em; }
.rn-pkg p { margin: 0; font-size: 16px; line-height: 1.55; color: var(--d-body); }
.rn-pkg ul { margin: 0; padding: 14px 0 0; list-style: none; border-top: 1px dashed #D5D7D0; display: flex; flex-direction: column; gap: 8px; font-size: 15px; }
.rn-pkg li::before { content: "— "; }
.rn-pkg .rn-link { align-self: flex-start; margin-top: auto; font-size: 15px; }
.rn-pkg.is-dark { background: var(--d-ink); color: var(--d-ground); }
.rn-pkg.is-dark .rn-pkg-bar { color: var(--d-lime); border-color: var(--d-dline); }
.rn-pkg.is-dark .rn-price b { color: var(--d-lime); }
.rn-pkg.is-dark p { color: #B8BDB5; }
.rn-pkg.is-dark ul { border-color: var(--d-dline); }
.rn-pkg.is-dark .rn-link { color: var(--d-lime) !important; }

.rn-cost { margin-top: 24px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 400px); gap: 24px; }
.rn-table { border: 1px solid #E7E8E3; background: #fff; }
.rn-table-head { padding: 16px 22px; border-bottom: 1px solid #E7E8E3; display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.rn-table-head h3 { margin: 0; font-size: 22px; font-weight: 600; }
.rn-table-scroll { overflow-x: auto; }
.rn-table table { width: 100%; border-collapse: collapse; font-size: 17px; margin: 0; }
.rn-table th, .rn-table td { text-align: left; padding: 13px 22px; border-bottom: 1px solid #EEEFEA; border-left: 1px solid #E7E8E3; white-space: nowrap; }
.rn-table th:first-child { border-left: 0; }
.rn-table thead th { font-size: 12px; font-weight: 500; color: var(--d-mute); text-transform: uppercase; border-bottom: 1px solid #E7E8E3; }
.rn-table thead th.is-mid { background: var(--d-lime); color: var(--d-ink); }
.rn-table td.is-mid { background: #F3F8EA; }
.rn-table tbody tr:last-child > * { border-bottom: 0; }
.rn-table tbody th { font-weight: 600; }
.rn-table-note { margin: 0; padding: 12px 22px; border-top: 1px solid #E7E8E3; font-size: 11px; color: var(--d-mute); text-transform: uppercase; }
.rn-incl { border: 1px solid #E7E8E3; padding: 26px; display: flex; flex-direction: column; gap: 14px; background: var(--d-ground); }
.rn-incl ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 9px; font-size: 16px; }
.rn-incl li::before { content: "✓ "; color: var(--d-green); font-weight: 700; }
.rn-incl p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--d-body); border-top: 1px dashed #D5D7D0; padding-top: 14px; }

.rn-why { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: #E7E8E3; border: 1px solid #E7E8E3; }
.rn-why > div { background: #fff; padding: 26px 22px; display: flex; flex-direction: column; gap: 12px; }
.rn-num { width: 38px; height: 38px; background: var(--d-lime); display: flex; align-items: center; justify-content: center; font-size: 13px; }
.rn-why h3 { margin: 0; font-size: 20px; font-weight: 600; line-height: 1.2; }
.rn-why p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--d-body); }

.rn-projects { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.rn-project { border: 1px solid #E7E8E3; background: #fff; display: flex; flex-direction: column; color: var(--d-ink) !important; text-decoration: none !important; }
.rn-project-img { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: #2B3A32; border-bottom: 1px solid #E7E8E3; }
.rn-project-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease; }
.rn-project:hover .rn-project-img img { transform: scale(1.03); }
.rn-project h3 { margin: 0; padding: 14px 16px; font-size: 18px; font-weight: 600; line-height: 1.3; flex-grow: 1; }
.rn-project-tb { display: flex; border-top: 1px solid #E7E8E3; font-size: 11px; text-transform: uppercase; }
.rn-project-tb > span { padding: 9px 12px; border-left: 1px solid #E7E8E3; }
.rn-project-tb > span:first-child { border-left: 0; }
.rn-project-tb > span:last-child { margin-left: auto; color: var(--d-green); }
.rn-areas { margin: 20px 4px 0; font-size: 16px; line-height: 1.6; color: var(--d-body); max-width: 1000px; }
.rn-reviews { margin-top: 24px; border: 1px solid #E7E8E3; background: #fff; display: grid; grid-template-columns: 240px repeat(3, minmax(0, 1fr)); }
.rn-reviews-h { padding: 26px 22px; background: var(--d-lime); border-right: 1px solid #E7E8E3; display: flex; flex-direction: column; gap: 8px; }
.rn-reviews-h h3 { margin: 0; font-size: 24px; font-weight: 600; }
.rn-reviews-h .d-mono { font-size: 11px; text-transform: uppercase; }
.rn-reviews figure { margin: 0; padding: 26px 22px; border-left: 1px solid #E7E8E3; display: flex; flex-direction: column; gap: 14px; }
.rn-reviews-h + figure { border-left: 0; }
.rn-reviews blockquote { margin: 0; padding: 0; border: 0; font-size: 17px; line-height: 1.45; font-weight: 300; }
.rn-reviews figcaption { font-size: 11px; color: var(--d-mute); text-transform: uppercase; }

.rn-dark { background: var(--d-ink); color: var(--d-ground); border: 1px solid #E7E8E3; padding: clamp(24px, 3.5vw, 48px); }
.rn-dark .d-head { padding: 0 0 20px; }
.rn-dark .d-head h2 { color: var(--d-ground); font-weight: 500; }
.rn-dark .d-sheet { color: var(--d-lime); }
.rn-dark .rn-sec-lead { color: #B8BDB5; margin: 0 0 36px; }
.rn-dark .rn-sec-lead b { color: var(--d-ground); font-weight: 500; }
.rn-dark-note { margin: 32px 0 0; padding-top: 16px; border-top: 1px solid var(--d-dline); font-size: 12px; color: var(--d-lime); text-transform: uppercase; line-height: 1.6; }

.rn-two { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 24px; }
.rn-two > .rn-sec { margin-left: 0; margin-right: 0; display: flex; flex-direction: column; }
.rn-two .d-head h2 { font-size: clamp(28px, 3vw, 42px); }
.rn-types { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: #E7E8E3; border: 1px solid #E7E8E3; flex-grow: 1; }
.rn-types > div { background: #fff; padding: 22px; display: flex; flex-direction: column; gap: 10px; }
.rn-types h3 { margin: 0; font-size: 19px; font-weight: 600; line-height: 1.25; }
.rn-types p, .rn-permit p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--d-body); }
.rn-permit { border: 1px solid #E7E8E3; background: #fff; display: flex; flex-direction: column; flex-grow: 1; }
.rn-permit > div { padding: 22px; display: flex; flex-direction: column; gap: 10px; }
.rn-permit > div + div { border-top: 1px solid #E7E8E3; flex-grow: 1; }
.rn-permit b { color: var(--d-ink); }
.rn-permit .rn-link { align-self: flex-start; margin-top: auto; font-size: 15px; }
.rn-tag { align-self: flex-start; font-size: 12px; padding: 4px 8px; background: var(--d-lime); text-transform: uppercase; }
.rn-tag.is-dark { background: var(--d-ink); color: var(--d-ground); }

.rn-faq { display: grid; grid-template-columns: minmax(0, 360px) minmax(0, 1fr); gap: 24px; }
.rn-faq-h { display: flex; flex-direction: column; gap: 14px; padding: 0 4px; }
.rn-faq-h > * { margin: 0; }
.rn-faq-h h2 { font-size: clamp(32px, 3.8vw, 52px); line-height: 1.04; font-weight: 600; }
.rn-faq-h p:last-child { font-size: 16px; line-height: 1.55; color: var(--d-body); }
.rn-faq-list { border: 1px solid #E7E8E3; background: #fff; }
.rn-faq-list details { border-top: 1px solid #EEEFEA; }
.rn-faq-list details:first-child { border-top: 0; }
.rn-faq-list summary { list-style: none; cursor: pointer; padding: 18px 22px; display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.rn-faq-list summary::-webkit-details-marker { display: none; }
.rn-faq-list summary h3 { margin: 0; font-size: 18px; font-weight: 500; line-height: 1.35; }
.rn-faq-list summary .d-mono::before { content: "+"; font-size: 20px; }
.rn-faq-list details[open] summary { background: var(--d-lime); }
.rn-faq-list details[open] summary h3 { font-weight: 600; }
.rn-faq-list details[open] summary .d-mono::before { content: "−"; }
.rn-faq-list details p { margin: 0; padding: 16px 22px 22px; font-size: 16px; line-height: 1.6; color: var(--d-body); }

.rn-cta { margin-top: 72px; border: 1px solid #E7E8E3; background: var(--d-ink); color: var(--d-ground); display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); }
.rn-cta-copy { padding: clamp(28px, 4vw, 52px); display: flex; flex-direction: column; gap: 20px; border-right: 1px solid var(--d-dline); }
.rn-cta-copy > * { margin: 0; }
.rn-cta-copy .d-sheet { color: var(--d-lime); }
.rn-cta-copy h2 { font-size: clamp(32px, 4vw, 56px); line-height: 1.03; font-weight: 500; color: var(--d-ground); letter-spacing: -.02em; }
.rn-cta-copy p:last-child { font-size: 18px; line-height: 1.55; color: #B8BDB5; }
.rn-cta-btns { padding: clamp(28px, 4vw, 52px); display: flex; flex-direction: column; justify-content: center; gap: 12px; }
.rn-cta-main { height: 60px; display: flex; align-items: center; justify-content: space-between; padding: 0 22px; background: var(--d-lime); color: var(--d-ink) !important; font-weight: 600; font-size: 17px; text-decoration: none !important; }
.rn-cta-main:hover { background: var(--d-ground); }

.rn-sticky { display: none; }

@media (max-width: 1100px) {
	.rn-cells, .rn-why { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rn-reviews { grid-template-columns: 1fr; }
	.rn-reviews-h { border-right: 0; border-bottom: 1px solid #E7E8E3; }
	.rn-reviews figure { border-left: 0; border-top: 1px solid #E7E8E3; }
	.rn-reviews-h + figure { border-top: 0; }
	.rn-two, .rn-faq, .rn-cost { grid-template-columns: 1fr; }
}
@media (max-width: 960px) {
	.rn-hero, .rn-intro, .rn-pkgs, .rn-projects, .rn-cta { grid-template-columns: 1fr; }
	.rn-hero-copy { border-right: 0; border-bottom: 1px solid #E7E8E3; }
	.rn-intro { margin-top: 40px; }
	.rn-toc { order: -1; }
	.rn-pkg { border-left: 0; border-top: 1px solid #E7E8E3; }
	.rn-pkg:first-child { border-top: 0; }
	.rn-projects { gap: 14px; }
	.rn-cta-copy { border-right: 0; border-bottom: 1px solid var(--d-dline); }
	.rn-sec { margin-top: 48px; }
}
@media (max-width: 640px) {
	.rn-crumb { padding: 10px 14px; font-size: 11px; }
	.rn-crumb-r { display: none; }
	.rn-cells, .rn-why, .rn-types { grid-template-columns: 1fr; }
	.rn-cells li { min-height: 0; }
	.rn-figs b { font-size: 15px; }
	.rn-promises li > span:last-child { font-size: 15px; padding: 12px 14px; }
	.rn-table th, .rn-table td { padding: 11px 12px; font-size: 15px; }
	.rn-pkg .rn-price b { font-size: 38px; }
	.rn-project { display: grid; grid-template-columns: 120px minmax(0, 1fr); }
	.rn-project-img { aspect-ratio: auto; height: 100%; min-height: 110px; border-bottom: 0; border-right: 1px solid #E7E8E3; grid-row: span 2; }
	.rn-project h3 { font-size: 15px; padding: 12px; }
	.rn-project-tb > span { padding: 7px 10px; }
	.rn-project-tb > span:last-child { display: none; }
	.rn { padding-bottom: 96px; }
	.rn-sticky { display: grid; grid-template-columns: 64px minmax(0, 1fr); position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; height: 64px; background: var(--d-ground); border-top: 1px solid #E7E8E3; margin: 0; }
	.rn-sticky a { display: flex; align-items: center; justify-content: center; color: var(--d-ink) !important; text-decoration: none !important; font-size: 22px; }
	.rn-sticky a + a { justify-content: space-between; padding: 0 20px; background: var(--d-lime); font-weight: 600; font-size: 16px; border-left: 1px solid #E7E8E3; }
}

/* E: στρογγυλές γωνίες, πιο ανοιχτό */
.rn-crumb { border: 0; border-bottom: 1px solid #E7E8E3; background: #fff; letter-spacing: .06em; }
.rn-hero { border: 0; background: #fff; gap: 24px; padding-top: 24px; }
.rn-hero-copy { border-right: 0; padding-left: 0; }
.rn-form, .rn-def, .rn-toc, .rn-cells, .rn-pkgs, .rn-table, .rn-incl, .rn-why, .rn-project, .rn-reviews, .rn-types, .rn-permit, .rn-faq-list, .rn-promises, .rn-figs { border-radius: 6px; overflow: hidden; }
.rn-form { border: 1px solid #E7E8E3; box-shadow: 0 16px 40px rgba(0,0,0,.06); align-self: start; }
.rn-promises .d-mono { border-radius: 0; }
.rn-bar i { border-radius: 3px; }
.rn-step input:not([type=checkbox]), .rn-step select { border: 1px solid #D5D7D0; border-radius: 6px; }
.rn-next, .rn-back, .rn-cta-main { border-radius: 0; border: 0; }
.rn-back { border: 1px solid #D5D7D0; }
.rn-next { background: var(--d-ink); color: #fff; }
.rn-next:hover { background: #2a2c2f; color: #fff; }
.rn-done { border-radius: 0; border: 0; }
.rn-toc > span { background: var(--d-ground); color: var(--d-mute); border-bottom: 1px solid #E7E8E3; }
.rn-pkg.is-mid { box-shadow: inset 0 0 0 2px var(--d-lime); }
.rn-pkg.is-mid .rn-pkg-bar { border-bottom-color: var(--d-lime); }
.rn-num { border-radius: 50%; }
.rn-dark, .rn-cta { border: 0; border-radius: 10px; }
.rn-dark { background: #131416; }
.rn-tag { border-radius: 14px; padding: 4px 10px; }
.rn-faq-list details[open] summary { background: #EAF4DC; }
.rn-reviews-h { background: #EAF4DC; }
.rn-cta { background: var(--d-lime); color: var(--d-ink); }
.rn-cta-copy { border-right-color: rgba(19,20,22,.2); }
.rn-cta-copy .d-sheet { color: var(--d-ink); }
.rn-cta-copy h2 { color: var(--d-ink); font-weight: 600; }
.rn-cta-copy p:last-child { color: #2D3A20; }
.rn-cta-main { background: var(--d-ink); color: #fff !important; }
.rn-cta-main:hover { background: #2a2c2f; }
.rn-cta .d-btn-line { border-color: var(--d-ink); color: var(--d-ink) !important; }
.rn-cta .d-btn-line.is-dim { border-color: rgba(19,20,22,.35); }
.rn-sticky a + a { border-left: 0; }
@media (max-width: 960px) { .rn-hero-copy { padding-right: 0; } .rn-cta-copy { border-bottom-color: rgba(19,20,22,.2); } }
@media (max-width: 640px) { .rn-table th, .rn-table td { padding: 10px 8px; font-size: 14px; } .rn-table thead th { font-size: 10px; } }

/* v2.3 E — πιο ήρεμος τίτλος αρχικής */
.e-hero h1 { font-size: clamp(38px, 4.4vw, 64px); font-weight: 500; line-height: 1.04; letter-spacing: -.02em; max-width: 900px; }
.e-ul { box-shadow: inset 0 -.22em 0 var(--e-lime); }
.e-hero-head p strong { color: var(--e-ink); font-weight: 600; }
.e-start { margin: 0 0 -20px; font-size: 20px; font-weight: 500; color: var(--e-ink); }
@media (max-width: 960px) { .e-start { margin-bottom: -12px; font-size: 18px; } }
/* v2.3.1 E */
.e-start { font-size: clamp(26px, 2.6vw, 36px); font-weight: 600; letter-spacing: -.015em; margin: 0 0 -12px; }
.e-hero-head p { font-size: 18px; }
@media (max-width: 960px) { .e-start { font-size: 26px; margin-bottom: -4px; } }

/* v2.4 E — ενιαίοι τίτλοι */
.e-hero-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 380px); gap: 24px 64px; align-items: end; }
.e-hero-title { display: flex; flex-direction: column; gap: 18px; }
.e-hero h1 { font-size: clamp(40px, 4.7vw, 68px); font-weight: 600; line-height: 1.02; letter-spacing: -.025em; max-width: none; }
.e-h1-soft { color: #9A9E97; font-weight: 500; }
.e-hero-side { margin: 0 0 8px !important; font-size: 18px; line-height: 1.55; color: var(--e-body); border-left: 2px solid var(--e-lime); padding-left: 18px; max-width: none !important; }
.e-start { display: none; }
.e-door-title { font-size: clamp(30px, 2.8vw, 40px); }
.e-home h2, .e-feature-copy h2, .e-why-head h2, .e-contact h2 { font-size: clamp(30px, 2.8vw, 40px) !important; font-weight: 600 !important; line-height: 1.08 !important; letter-spacing: -.015em !important; }
.e-why-head h2 { color: #F3F4EF; }
.e-contact-h { display: flex; flex-direction: column; gap: 14px; }
.e-contact .e-cap { color: #2D3A20; }
@media (max-width: 960px) { .e-hero-head { grid-template-columns: 1fr; } .e-hero-side { margin-bottom: 0 !important; } }

/* v2.5 E — φωτογραφίες έργων με κενά, χωρίς σύνδεσμο */
.m-vc .vc_row { margin: 0 -8px !important; }
.m-vc .vc_column_container, .m-vc .wpb_column { padding: 0 8px !important; box-sizing: border-box; }
.m-us-image { margin: 0 0 16px !important; border-radius: var(--e-r); }
.m-us-image:hover img { transform: none; }
.m-us-gallery { gap: 16px; }
.m-us-gallery .m-us-image { margin: 0 !important; }
@media (max-width: 780px) {
	.m-vc .vc_row { margin: 0 !important; }
	.m-vc .vc_column_container, .m-vc .wpb_column { padding: 0 !important; width: 100% !important; }
	.m-us-image { margin-bottom: 10px !important; }
	.m-us-gallery { gap: 10px; }
}

/* v2.6 E — φωτογραφίες έργων μεγάλες, σε γκρι πλαίσιο που τις χωρίζει */
.m-article .m-article-body > .m-inner { max-width: 1600px !important; }
.m-article .m-gallery-wrap { background: #EEEFEA; margin: 24px calc(-1 * clamp(16px, 5.5vw, 80px)) 0 !important; padding: 14px !important; }
.m-article .m-gallery-wrap .wp-block-post-content.m-vc { padding: 0 !important; }
.m-article .m-gallery-wrap .vc_row { margin: 0 -7px !important; }
.m-article .m-gallery-wrap .vc_column_container, .m-article .m-gallery-wrap .wpb_column { padding: 0 7px !important; }
.m-article .m-gallery-wrap .m-us-image { margin: 0 0 14px !important; border-radius: 4px; background: #dfe0da; }
.m-article .m-gallery-wrap .m-us-image img { width: 100%; max-height: calc(100vh - 140px); object-fit: cover; }
.m-article .m-gallery-wrap .m-us-gallery { gap: 14px; margin-bottom: 14px; }
.m-article .m-gallery-wrap .m-us-gallery .m-us-image { margin: 0 !important; }
@media (max-width: 780px) {
	.m-article .m-gallery-wrap { padding: 8px !important; }
	.m-article .m-gallery-wrap .vc_row { margin: 0 !important; }
	.m-article .m-gallery-wrap .vc_column_container, .m-article .m-gallery-wrap .wpb_column { padding: 0 !important; }
	.m-article .m-gallery-wrap .m-us-image { margin-bottom: 8px !important; }
	.m-article .m-gallery-wrap .m-us-image img { max-height: none; }
}
/* υποσέλιδο: μόνο λογότυπο και στοιχεία */
.e-foot-nav { display: none !important; }

/* v2.6.1 E — χωρίς στρογγυλεμένες γωνίες, παντού */
:root { --e-r: 0px; }
body *, body *::before, body *::after { border-radius: 0 !important; }
/* εξαιρέσεις: μόνο τα μικρά στρογγυλά σημάδια (βελάκια, κουκκίδες) */
.e-door-foot i, .d-axis-n, .rn-num, .wp-block-avatar img, #wpadminbar * { border-radius: 50% !important; }
#wpadminbar, #wpadminbar * { border-radius: revert !important; }

/* =====================================================================
   v2.7 E — Σελίδα έργου
   ===================================================================== */
.is-project .m-page-head, .is-project .m-article-body .wp-block-post-featured-image, .is-project .m-back { display: none !important; }
.is-project .m-article-body { padding: 0 !important; }
.is-project .m-article-body > .m-inner { max-width: none !important; }
.is-project .wp-block-post-content { padding: 0 !important; max-width: none !important; }
.is-project .wp-block-post-content > .pj { max-width: none !important; margin: 0 !important; }
.pj { --pj-pad: var(--e-pad); --pj-gap: clamp(16px, 3vw, 48px); }

/* μεγάλη φωτογραφία */
.pj-hero { position: relative; height: min(82vh, 860px); min-height: 420px; display: flex; align-items: flex-end; overflow: hidden; background: #2B3A32; }
.pj-hero img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pj-shade { position: absolute; inset: 40% 0 0; background: linear-gradient(transparent, rgba(12,13,14,.82)); }
.pj-hero-in { position: relative; width: 100%; padding: 0 var(--pj-pad) clamp(28px, 4vw, 56px); display: flex; flex-direction: column; align-items: flex-start; gap: 14px; color: #fff; }
.pj-back { color: rgba(255,255,255,.85) !important; font-size: 14px; text-decoration: none !important; margin-bottom: 8px; }
.pj-back:hover { color: #fff !important; }
.pj-type { font-size: 12px; letter-spacing: .18em; text-transform: uppercase; font-weight: 600; background: var(--e-lime); color: var(--e-ink); padding: 6px 10px; }
.pj-hero h1 { margin: 0; color: #fff; font-size: clamp(34px, 4.6vw, 68px); line-height: 1.02; font-weight: 600; letter-spacing: -.02em; max-width: 1100px; }

/* στοιχεία έργου */
.pj-facts { margin: 0 var(--pj-pad); display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); border-bottom: 1px solid var(--e-line); }
.pj-facts > div { margin: 0; padding: 26px 24px 26px 0; border-right: 1px solid var(--e-line); }
.pj-facts > div + div { padding-left: 24px; }
.pj-facts > div:last-child { border-right: 0; }
.pj-facts dt { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--e-mute); margin: 0 0 8px; font-weight: 500; }
.pj-facts dd { margin: 0; font-size: 19px; font-weight: 600; line-height: 1.3; }

/* κείμενο: τίτλος αριστερά, κείμενο δεξιά */
.pj-text { margin: clamp(48px, 6vw, 96px) var(--pj-pad) 0; display: flex; flex-direction: column; gap: clamp(32px, 4vw, 56px); }
.pj-sec { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 24px 64px; }
.pj-sec h2 { margin: 0; font-size: clamp(26px, 2.4vw, 34px); font-weight: 600; letter-spacing: -.015em; line-height: 1.15; }
.pj-body { font-size: 18px; line-height: 1.7; color: var(--e-body); max-width: 760px; }
.pj-body > :first-child { margin-top: 0; }
.pj-body p { margin: 0 0 1em; }
.pj-body h3 { font-size: 19px; color: var(--e-ink); margin: 1.6em 0 .4em; }
.pj-body ul { padding-left: 20px; }
.pj-body li { margin: 0 0 .5em; }

/* γκαλερί: λευκό, μεγάλα κενά, αρίθμηση κάτω από κάθε φωτογραφία */
.pj-gallery { margin: clamp(56px, 7vw, 110px) var(--pj-pad) 0; display: flex; flex-direction: column; gap: var(--pj-gap); }
.pj-gal-head { display: flex; justify-content: space-between; align-items: baseline; border-top: 1px solid var(--e-ink); padding-top: 18px; margin-bottom: calc(-1 * var(--pj-gap) + 24px); }
.pj-gal-head h2 { margin: 0; font-size: clamp(26px, 2.4vw, 34px); font-weight: 600; }
.pj-gal-head span { font-size: 14px; color: var(--e-mute); }
.pj-row { display: grid; gap: var(--pj-gap); }
.pj-row-2 { grid-template-columns: 1fr 1fr; }
.pj-ph { margin: 0; display: flex; flex-direction: column; gap: 10px; }
.pj-ph img { display: block; width: 100%; height: auto; max-height: calc(100vh - 120px); object-fit: cover; background: var(--e-soft); }
.pj-row-1 .pj-ph img { max-height: 92vh; }
.pj-ph figcaption { font-size: 12px; letter-spacing: .12em; color: var(--e-ink); font-weight: 600; }
.pj-ph figcaption i { font-style: normal; color: var(--e-mute); font-weight: 400; }

/* προηγούμενο / επόμενο */
.pj-adjs { margin: clamp(64px, 8vw, 120px) var(--pj-pad) 0; display: grid; grid-template-columns: 1fr 1fr; gap: var(--pj-gap); border-top: 1px solid var(--e-line); padding-top: 32px; }
.pj-adj { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 20px; align-items: center; color: var(--e-ink) !important; text-decoration: none !important; }
.pj-adj.is-next { grid-template-columns: minmax(0, 1fr) 160px; text-align: right; }
.pj-adj.is-next .pj-adj-img { order: 2; }
.pj-adj-img { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--e-soft); }
.pj-adj-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease; }
.pj-adj:hover img { transform: scale(1.04); }
.pj-adj small { display: block; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--e-mute); margin-bottom: 6px; }
.pj-adj b { font-size: 20px; font-weight: 600; line-height: 1.25; }
.pj-adj:hover b { color: var(--e-green); }
.pj-raw { margin: 48px var(--pj-pad) 0; }
.is-project .m-related { margin-top: 0; }

@media (max-width: 900px) {
	.pj { --pj-gap: 14px; }
	.pj-hero { height: 70vh; min-height: 380px; }
	.pj-facts { grid-template-columns: 1fr 1fr; }
	.pj-facts > div, .pj-facts > div + div { padding: 16px 12px 16px 0; border-right: 0; border-bottom: 1px solid var(--e-line); }
	.pj-facts dd { font-size: 16px; }
	.pj-sec { grid-template-columns: 1fr; gap: 12px; }
	.pj-body { font-size: 17px; }
	.pj-row-2 { grid-template-columns: 1fr; }
	.pj-ph img, .pj-row-1 .pj-ph img { max-height: none; }
	.pj-gal-head { margin-bottom: 4px; }
	.pj-adjs { grid-template-columns: 1fr; gap: 20px; }
	.pj-adj, .pj-adj.is-next { grid-template-columns: 110px minmax(0, 1fr); text-align: left; }
	.pj-adj.is-next .pj-adj-img { order: 0; }
	.pj-adj b { font-size: 17px; }
}
/* v2.7.1 — η σελίδα έργου σε όλο το πλάτος */
.is-project .pj { padding: 0 !important; max-width: none !important; }
.is-project .pj > .pj-in { max-width: none !important; margin: 0 !important; width: 100%; }
.pj-sec-full { display: block; }
.pj-sec-full .pj-body { max-width: 860px; }
.pj-body h2, .pj-body h3, .pj-body h4 { font-size: clamp(22px, 2vw, 28px); font-weight: 600; color: var(--e-ink); letter-spacing: -.01em; line-height: 1.2; margin: 1.8em 0 .5em; }
.pj-body > h2:first-child, .pj-body > h3:first-child, .pj-body > h4:first-child { margin-top: 0; }
/* v2.7.2 — «Περισσότερα έργα» στοιχισμένο με την υπόλοιπη σελίδα έργου */
.is-project .m-related { padding-left: var(--e-pad) !important; padding-right: var(--e-pad) !important; }
.is-project .m-related .m-inner { max-width: none !important; margin: 0 !important; }

/* v2.8 — κάρτα «Ζητήστε προσφορά» δίπλα στο κείμενο του έργου (κολλάει μόνο όσο κρατάει το κείμενο) */
.pj-text-wrap { margin: clamp(48px, 6vw, 96px) var(--pj-pad) 0; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 360px); gap: 40px clamp(40px, 6vw, 96px); align-items: start; }
.pj-text-wrap .pj-text { margin: 0; }
.pj-text-wrap-solo { grid-template-columns: minmax(0, 1fr); max-width: 520px; }
.pj-cta { position: sticky; top: 120px; border: 1px solid var(--e-line); background: #fff; padding: 28px; display: flex; flex-direction: column; gap: 14px; box-shadow: 0 18px 40px rgba(0,0,0,.06); border-top: 4px solid var(--e-lime); }
.admin-bar .pj-cta { top: 152px; }
.pj-cta > * { margin: 0; }
.pj-cta-cap { font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--e-mute); font-weight: 500; }
.pj-cta b { font-size: 24px; line-height: 1.2; font-weight: 600; letter-spacing: -.01em; }
.pj-cta p { font-size: 16px; line-height: 1.55; color: var(--e-body); }
.pj-cta ul { list-style: none; padding: 12px 0 0; border-top: 1px solid var(--e-line); display: flex; flex-direction: column; gap: 8px; font-size: 15px; }
.pj-cta li::before { content: "✓ "; color: var(--e-green); font-weight: 700; }
.pj-cta-btn { margin-top: 6px !important; height: 56px; display: flex; align-items: center; justify-content: space-between; padding: 0 20px; background: var(--e-lime); color: var(--e-ink) !important; font-weight: 600; font-size: 16px; text-decoration: none !important; }
.pj-cta-btn:hover { background: var(--e-ink); color: #fff !important; }
.pj-cta-tel { text-align: center; font-weight: 600; color: var(--e-ink) !important; text-decoration: none !important; font-size: 15px; }
@media (max-width: 1000px) {
	.pj-text-wrap { grid-template-columns: 1fr; }
	.pj-cta { position: static; }
}

/* =====================================================================
   B+ — σκούρα φωτογραφία, νούμερα, ακίνητα και επικοινωνία· ανοιχτές οι υπόλοιπες
   ===================================================================== */
:root { --bp-dark: #141619; --bp-panel: #1B1E22; --bp-line: #2A2E33; --bp-line2: #3A3F45; --bp-text: #EDEEEA; --bp-body: #B7BCB4; --bp-mute: #9CA19A; --bp-lime: #8CC63F; --bp-lime2: #A2D65E; --bp-light: #F4F4F1; --bp-pad: clamp(16px, 4.5vw, 64px); }
.bp-home { padding: 0 !important; background: var(--bp-light); }
.bp-home > * + * { margin-block-start: 0 !important; }
.bp-home h2 { margin: 0; font-size: clamp(32px, 3.6vw, 52px); line-height: 1.05; font-weight: 600; letter-spacing: -.015em; }
.bp-lbl { font-size: 12px; letter-spacing: .2em; text-transform: uppercase; font-weight: 600; color: var(--e-green); }
.bp-soft { color: #8A8F88; font-weight: 500; }
.bp-link { color: var(--e-green) !important; font-weight: 600; text-decoration: none !important; white-space: nowrap; }
.bp-sec { padding: clamp(64px, 8vw, 120px) var(--bp-pad) 0; display: flex; flex-direction: column; gap: 40px; }
.bp-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px 48px; flex-wrap: wrap; }
.bp-head > div { display: flex; flex-direction: column; gap: 16px; }
.bp-head > p { margin: 0; font-size: 17px; line-height: 1.6; color: var(--e-body); max-width: 400px; }

/* Header: σκούρο παντού, διάφανο πάνω στη φωτογραφία της αρχικής */
.m-header.bp-header { background: var(--bp-dark); border: 0; padding: 0 var(--bp-pad) !important; position: sticky; top: 0; z-index: 50; color: var(--bp-text); transition: background .25s ease; }
.admin-bar .m-header.bp-header { top: 32px; }
.home .m-header.bp-header { position: fixed; left: 0; right: 0; background: transparent; }
.home .m-header.bp-header.is-solid { background: rgba(20,22,25,.97); }
.bp-header .m-header-inner { max-width: none !important; min-height: 92px; gap: 30px !important; }
.bp-header .m-logo-img { height: 44px; width: auto; }
.bp-header .m-menu { gap: 30px; }
.bp-header .m-menu > li > a, .bp-header .m-phone a, .bp-header .m-burger summary { color: var(--bp-text) !important; font-size: 15px; box-shadow: none !important; }
.bp-header .m-menu > li > a:hover, .bp-header .m-menu > .current-menu-item > a { color: var(--bp-lime) !important; }
.bp-header .m-menu .sub-menu { background: var(--bp-panel); border: 1px solid var(--bp-line); }
.bp-header .m-menu .sub-menu a { color: var(--bp-text) !important; }
.bp-header .m-lang, .bp-header .m-lang a { color: rgba(237,238,234,.7); font-size: 13px; letter-spacing: .1em; }
.bp-header .m-lang-active { color: var(--bp-text); }
.bp-header .m-phone { font-weight: 500; }
.bp-header .m-header-cta .wp-block-button__link { background: transparent !important; color: var(--bp-text) !important; border: 1px solid var(--bp-lime); height: 46px; padding: 0 22px; display: flex; align-items: center; font-size: 14px; font-weight: 500; }
.bp-header .m-header-cta .wp-block-button__link:hover { background: var(--bp-lime) !important; color: var(--bp-dark) !important; }
.bp-header .m-burger-panel { background: var(--bp-dark); border-top: 1px solid var(--bp-line); }
.bp-header .m-burger-panel a { color: var(--bp-text) !important; }
@media (max-width: 1100px) { .bp-header .m-header-inner { min-height: 66px; } .bp-header .m-logo-img { height: 34px; } }
@media (max-width: 782px) { .admin-bar .m-header.bp-header { top: 0; } .home.admin-bar .m-header.bp-header { top: 46px; position: absolute; } .home.admin-bar .m-header.bp-header.is-solid { position: fixed; top: 0; } #wpadminbar { overflow: hidden; } }
.home.admin-bar .m-header.bp-header { top: 32px; }

/* Hero */
.bp-hero { position: relative; min-height: max(640px, 100svh); max-height: 980px; display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; background: var(--bp-dark); color: var(--bp-text); }
.bp-hero-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 35%; }
.bp-hero-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20,22,25,.6) 0%, rgba(20,22,25,.1) 28%, rgba(20,22,25,.2) 55%, rgba(20,22,25,.93) 100%); }
.bp-hero-body { position: relative; padding: 140px var(--bp-pad) clamp(40px, 5vw, 72px); display: flex; justify-content: space-between; align-items: flex-end; gap: 48px; }
.bp-hero-copy { display: flex; flex-direction: column; gap: 24px; max-width: 900px; }
.bp-hero-copy > * { margin: 0; }
.bp-hero .bp-lbl { color: var(--bp-lime); }
.bp-hero h1 { color: var(--bp-text); font-size: clamp(40px, 5.6vw, 84px); line-height: 1; font-weight: 600; letter-spacing: -.02em; }
.bp-hero-copy p { font-size: clamp(17px, 1.4vw, 20px); line-height: 1.5; color: rgba(237,238,234,.85); max-width: 560px; }
.bp-btns { display: flex; flex-direction: column; gap: 12px; width: 300px; max-width: 100%; flex: none; }
.bp-btn { height: 58px; display: flex; align-items: center; justify-content: space-between; padding: 0 24px; border: 1px solid rgba(237,238,234,.45); color: var(--bp-text) !important; font-weight: 500; font-size: 16px; text-decoration: none !important; }
.bp-btn:hover { border-color: var(--bp-lime); }
.bp-btn.is-lime { background: var(--bp-lime); border-color: var(--bp-lime); color: var(--bp-dark) !important; font-weight: 600; }
.bp-btn.is-lime:hover { background: var(--bp-lime2); }

/* Νούμερα */
.bp-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); background: var(--bp-dark); color: var(--bp-text); }
.bp-stats > div { padding: 40px 48px; border-right: 1px solid var(--bp-line); display: flex; flex-direction: column; gap: 6px; }
.bp-stats > div:first-child { padding-left: var(--bp-pad); }
.bp-stats > div:last-child { border-right: 0; }
.bp-stats b { font-size: clamp(36px, 3.4vw, 48px); font-weight: 300; line-height: 1.05; }
.bp-stats i { font-style: normal; color: var(--bp-lime); }
.bp-stats span { font-size: 14px; color: var(--bp-mute); }

/* Υπηρεσίες: 3 κάρτες */
.bp-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.bp-card { display: flex; flex-direction: column; background: #fff; border: 1px solid #E2E3DD; color: var(--e-ink) !important; text-decoration: none !important; transition: box-shadow .2s; }
.bp-card:hover { box-shadow: 0 16px 36px rgba(0,0,0,.08); }
.bp-card-img { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: #2B3A32; }
.bp-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .7s ease; }
.bp-card:hover .bp-card-img img { transform: scale(1.04); }
.bp-card-body { padding: 30px; display: flex; flex-direction: column; gap: 12px; flex-grow: 1; }
.bp-card-who { font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--e-green); font-weight: 600; }
.bp-card b { font-size: clamp(24px, 2.2vw, 30px); font-weight: 600; line-height: 1.1; }
.bp-card-text { font-size: 16px; line-height: 1.6; color: var(--e-body); }
.bp-card-go { margin-top: auto; padding-top: 10px; font-weight: 600; color: var(--e-green); display: flex; justify-content: space-between; }
.bp-card-go i { font-style: normal; }
.bp-card.is-dark { background: var(--bp-dark); border-color: var(--bp-dark); color: var(--bp-text) !important; }
.bp-card.is-dark .bp-card-who, .bp-card.is-dark .bp-card-go { color: var(--bp-lime); }
.bp-card.is-dark .bp-card-text { color: var(--bp-body); }

/* Πώς δουλεύουμε */
.bp-process { margin-top: clamp(64px, 8vw, 120px); padding: clamp(56px, 7vw, 100px) var(--bp-pad); background: #fff; border-top: 1px solid #E2E3DD; border-bottom: 1px solid #E2E3DD; display: grid; grid-template-columns: minmax(0, 360px) minmax(0, 1fr); gap: 40px 72px; }
.bp-process-h { display: flex; flex-direction: column; gap: 18px; }
.bp-process-h h2 { font-size: clamp(28px, 3vw, 42px) !important; line-height: 1.1 !important; }
.bp-steps { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-top: 2px solid var(--e-ink); }
.bp-steps li { margin: 0; padding: 26px 20px 0 0; display: flex; flex-direction: column; gap: 10px; }
.bp-step-n { width: 34px; height: 34px; background: var(--bp-lime); display: flex; align-items: center; justify-content: center; font-weight: 600; font-size: 14px; }
.bp-steps li.is-last .bp-step-n { background: var(--bp-dark); color: var(--bp-lime); }
.bp-steps b { font-size: 18px; font-weight: 600; }
.bp-steps li > span:last-child { font-size: 14px; line-height: 1.5; color: var(--e-body); }

/* Ακίνητα (σκούρο) */
.bp-props { padding: clamp(64px, 8vw, 110px) var(--bp-pad); background: var(--bp-dark); color: var(--bp-text); display: flex; flex-direction: column; gap: 40px; }
.bp-props h2 { color: var(--bp-text); }
.bp-props .bp-lbl, .bp-props .bp-link { color: var(--bp-lime) !important; }
.bp-props-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 24px; }
.bp-props-grid.is-one { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); }
.bp-props-side { display: flex; flex-direction: column; gap: 24px; }
.bp-prop { position: relative; display: flex; align-items: flex-end; overflow: hidden; color: var(--bp-text) !important; text-decoration: none !important; min-height: 300px; flex-grow: 1; background: var(--bp-panel); }
.bp-prop.is-big { min-height: clamp(380px, 40vw, 580px); }
.bp-prop img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.bp-prop:hover img { transform: scale(1.03); }
.bp-prop-shade { position: absolute; inset: 35% 0 0; background: linear-gradient(transparent, rgba(20,22,25,.92)); }
.bp-prop-t { position: relative; padding: clamp(22px, 2.6vw, 36px); display: flex; flex-direction: column; gap: 8px; }
.bp-prop small { font-size: 14px; color: var(--bp-body); }
.bp-prop b { font-size: clamp(28px, 3vw, 44px); font-weight: 600; letter-spacing: -.01em; line-height: 1.05; }
.bp-prop:not(.is-big) b { font-size: clamp(24px, 2.2vw, 30px); }
.bp-prop span > span, .bp-prop-t > span { font-size: 16px; }
.bp-prop em { font-style: normal; color: var(--bp-lime); font-weight: 600; }
.bp-singles { min-height: 140px; padding: 28px; border: 1px solid var(--bp-line2); display: flex; justify-content: space-between; align-items: center; gap: 16px; color: var(--bp-text) !important; text-decoration: none !important; }
.bp-singles:hover { border-color: var(--bp-lime); }
.bp-singles span { display: flex; flex-direction: column; gap: 6px; }
.bp-singles b { font-size: 22px; font-weight: 500; }
.bp-singles small { font-size: 14px; color: var(--bp-mute); }
.bp-singles i { font-style: normal; font-size: 26px; color: var(--bp-lime); }

/* Έργα: λωρίδα με φίλτρο */
.bp-projects { padding-right: 0; }
.bp-projects .bp-head { padding-right: var(--bp-pad); }
.bp-filter { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.bp-filter button { height: 40px; padding: 0 16px; border: 1px solid #CFD1CA; background: transparent; color: var(--e-ink); font: 500 14px 'Geologica', sans-serif; cursor: pointer; }
.bp-filter button.on { background: var(--bp-dark); border-color: var(--bp-dark); color: var(--bp-text); }
.bp-filter .bp-link { margin-left: 12px; }
.bp-strip { display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; padding-right: var(--bp-pad); scrollbar-width: thin; padding-bottom: 8px; }
.bp-pcard { flex: none; width: 420px; display: flex; flex-direction: column; gap: 14px; color: var(--e-ink) !important; text-decoration: none !important; scroll-snap-align: start; }
.bp-pcard[hidden] { display: none; }
.bp-pcard.is-wide { width: 560px; }
.bp-pcard-img { display: block; height: 400px; overflow: hidden; background: #2B3A32; }
.bp-pcard-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .7s ease; }
.bp-pcard:hover .bp-pcard-img img { transform: scale(1.03); }
.bp-pcard-t { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
.bp-pcard-t b { font-size: 19px; font-weight: 600; line-height: 1.3; }
.bp-pcard-t em { font-style: normal; color: #6B706A; font-size: 14px; white-space: nowrap; }

/* Κριτικές */
.bp-reviews { margin-top: clamp(64px, 8vw, 120px); padding: clamp(56px, 7vw, 110px) var(--bp-pad); background: #fff; border-top: 1px solid #E2E3DD; border-bottom: 1px solid #E2E3DD; display: flex; flex-direction: column; gap: 44px; }
.bp-rv { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.bp-rv figure { margin: 0; padding: 34px; background: var(--bp-light); border-top: 3px solid var(--bp-lime); display: flex; flex-direction: column; justify-content: space-between; gap: 26px; min-height: 260px; }
.bp-rv blockquote { margin: 0; padding: 0; border: 0; font-size: 20px; line-height: 1.5; font-weight: 300; color: var(--e-ink); }
.bp-rv figcaption { font-size: 14px; color: #6B706A; }
.bp-rv figcaption b { color: var(--e-ink); }

/* Οδηγοί */
.bp-blog { padding-bottom: clamp(64px, 8vw, 110px); }
.bp-posts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.bp-post { display: flex; flex-direction: column; gap: 12px; color: var(--e-ink) !important; text-decoration: none !important; }
.bp-post-img { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: #2B3A32; }
.bp-post-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .7s ease; }
.bp-post:hover .bp-post-img img { transform: scale(1.03); }
.bp-post small { font-size: 13px; color: #6B706A; }
.bp-post b { font-size: 21px; line-height: 1.3; font-weight: 500; }
.bp-post:hover b { color: var(--e-green); }

/* Επικοινωνία (σκούρο) — σε όλες τις σελίδες που τη δείχνουν */
.bp-contact { padding: clamp(64px, 8vw, 110px) var(--bp-pad); background: var(--bp-dark); color: var(--bp-text); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 540px); gap: 48px 80px; align-items: start; scroll-margin-top: 90px; margin: 0 !important; }
.bp-contact-copy { display: flex; flex-direction: column; gap: 24px; }
.bp-contact-copy > * { margin: 0; }
.bp-contact .bp-lbl { color: var(--bp-lime); }
.bp-contact h2 { color: var(--bp-text); font-size: clamp(34px, 4.4vw, 64px) !important; line-height: 1.02 !important; font-weight: 500 !important; letter-spacing: -.02em; }
.bp-contact-copy p { font-size: 18px; line-height: 1.55; color: var(--bp-body); }
.bp-contact-copy ul { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 10px; font-size: 17px; color: var(--bp-body); }
.bp-contact-copy a { color: var(--bp-text) !important; }
.bp-contact-form { background: var(--bp-light); color: var(--e-ink); padding: clamp(22px, 3vw, 36px) !important; }
.bp-contact-form input[type=submit], .bp-contact-form button[type=submit], .bp-contact-form .wpforms-submit { background: var(--bp-lime) !important; color: var(--bp-dark) !important; }

/* Υποσέλιδο (σκούρο) */
.m-footer.bp-footer { background: var(--bp-dark); color: var(--bp-mute); padding: 0 var(--bp-pad) 32px !important; }
.bp-foot { gap: 20px; }
.bp-foot .e-foot-top { border-top: 1px solid var(--bp-line); }
.bp-foot .e-foot-legal { border-top-color: var(--bp-line); color: var(--bp-mute); }
.bp-foot a { color: var(--bp-body) !important; }
.bp-foot a:hover { color: var(--bp-lime) !important; }
.bp-foot .e-espa img { background: #fff; }

/* Η ενότητα επικοινωνίας μέσα σε άλλες σελίδες (έργα, ανακαίνιση κ.λπ.) */
.m-main:not(.bp-home) .bp-contact { margin-top: clamp(64px, 8vw, 110px) !important; }

@media (max-width: 1100px) {
	.bp-process { grid-template-columns: 1fr; }
	.bp-contact { grid-template-columns: 1fr; }
}
@media (max-width: 960px) {
	.bp-hero { min-height: max(560px, 92svh); }
	.bp-hero-body { flex-direction: column; align-items: stretch; gap: 30px; padding-top: 120px; }
	.bp-btns { width: 100%; }
	.bp-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.bp-stats > div, .bp-stats > div:first-child { padding: 26px 20px; border-bottom: 1px solid var(--bp-line); }
	.bp-stats > div:nth-child(2n) { border-right: 0; }
	.bp-cards, .bp-rv, .bp-posts { grid-template-columns: 1fr; }
	.bp-steps { grid-template-columns: 1fr; border-top: 0; border-left: 2px solid var(--e-ink); padding-left: 20px; gap: 18px; }
	.bp-steps li { padding: 0; }
	.bp-props-grid { grid-template-columns: 1fr; }
	.bp-prop.is-big { min-height: 380px; }
	.bp-pcard, .bp-pcard.is-wide { width: 82vw; }
	.bp-pcard-img { height: 62vw; max-height: 400px; }
	.bp-pcard-t { flex-direction: column; gap: 4px; }
	.bp-filter .bp-link { margin-left: 0; width: 100%; }
}
@media (max-width: 780px) { .m-header .m-header-actions, .m-header .wp-block-buttons.m-header-cta { display: none !important; } }

/* ===== v3.1.2 — διορθώσεις από τον έλεγχο στο staging ===== */
.bp-head > .bp-filter { flex-direction: row; gap: 8px; }
.bp-filter button { text-transform: uppercase; font-size: 12px; letter-spacing: .08em; }
.bp-rv figure { min-height: 0; }
.is-project .m-article-body, .is-project .pj { margin-top: 0 !important; }
.wpforms-submit, .wpcf7-submit { border-radius: 0 !important; }
.bp-contact-form .wpforms-submit { padding: 0 32px !important; height: 52px; }
@media (max-width: 782px) {
	.bp-head > .bp-filter { flex-wrap: nowrap; overflow-x: auto; width: 100%; padding-bottom: 4px; scrollbar-width: none; }
	.bp-head > .bp-filter::-webkit-scrollbar { display: none; }
	.bp-filter button { flex: 0 0 auto; }
	.bp-filter .bp-link { flex: 0 0 auto; width: auto; margin-left: 8px; white-space: nowrap; align-self: center; }
	.m-form .wpforms-field-radio ul, .m-form .wpforms-field-checkbox ul, .bp-contact-form .wpforms-field-radio ul { grid-template-columns: 1fr !important; }
}

/* =====================================================================
   v3.2 — Εσωτερικές σελίδες στο στυλ B+
   ===================================================================== */
.bpp-main { padding: 0 !important; background: #fff; }
.bpp-main > * + * { margin-block-start: 0 !important; }
.bpp-main .bp-sec h2, .bpp-main .bp-contact h2, .bpp-main .bp-reviews h2, .bpp-main .bp-process h2, .bpp-main .bpp-team h2 { margin: 0; font-size: clamp(30px, 3.2vw, 46px); line-height: 1.08; font-weight: 600; letter-spacing: -.015em; }
.bpp-main .m-page-head { display: none !important; }
.bpp-main .bp-contact { margin-top: 0 !important; }

/* Σκούρα κεφαλίδα */
.bpp-head { position: relative; overflow: hidden; background: var(--bp-dark); color: var(--bp-text); padding: clamp(48px, 7vw, 104px) var(--bp-pad) clamp(44px, 5.5vw, 80px); display: flex; align-items: flex-end; }
.bpp-head.has-img { min-height: clamp(380px, 40vw, 560px); }
.bpp-head-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .42; }
.bpp-head.has-img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(20,22,25,.92) 0%, rgba(20,22,25,.35) 70%, rgba(20,22,25,.2) 100%); }
.bpp-head-in { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 18px; max-width: 980px; }
.bpp-head .bp-lbl { color: var(--bp-lime); }
.bpp-head h1 { margin: 0; color: #fff; font-size: clamp(36px, 4.8vw, 72px); line-height: 1.03; font-weight: 600; letter-spacing: -.025em; text-wrap: balance; }
.bpp-head.is-post h1 { font-size: clamp(32px, 3.8vw, 56px); }
.bpp-lead { margin: 4px 0 0; font-size: clamp(17px, 1.3vw, 20px); line-height: 1.55; color: var(--bp-body); max-width: 660px; }
.bpp-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 13px; color: var(--bp-mute); margin-bottom: 6px; }
.bpp-crumbs a { color: var(--bp-text) !important; text-decoration: none !important; }
.bpp-crumbs a:hover { color: var(--bp-lime) !important; }
.bpp-crumbs i { font-style: normal; opacity: .5; }

/* Περιεχόμενο απλών σελίδων (WPBakery) */
.bpp-body { padding: clamp(56px, 7vw, 104px) var(--bp-pad) clamp(64px, 8vw, 120px) !important; margin: 0 !important; }
.bpp-body .wp-block-post-content { max-width: 1180px !important; margin: 0 auto !important; padding: 0 !important; }
.bpp-body .wp-block-post-content > * { max-width: none !important; }
.bpp-body .vc_row { margin-bottom: clamp(36px, 4.5vw, 64px) !important; }
.bpp-body .vc_row:empty, .bpp-body .vc_row:not(:has(img, p, h2, h3, h4, li, table, form, iframe, .m-pcard)) { display: none; }
.bpp-body h1, .bpp-body h2 { font-size: clamp(28px, 2.9vw, 42px) !important; line-height: 1.1 !important; font-weight: 600 !important; letter-spacing: -.015em; color: var(--e-ink) !important; margin: 0 0 18px !important; text-align: left !important; text-transform: none; }
.bpp-body h3 { font-size: clamp(20px, 1.7vw, 24px) !important; line-height: 1.25 !important; font-weight: 600 !important; color: var(--e-ink) !important; margin: 26px 0 10px !important; text-align: left !important; }
.bpp-body h4 { font-size: 18px !important; font-weight: 600 !important; margin: 22px 0 8px !important; }
.bpp-body p, .bpp-body li { font-size: 17px !important; line-height: 1.7 !important; color: var(--e-body); }
.bpp-body p { margin: 0 0 14px; }
.bpp-body .wpb_text_column { max-width: 860px; }
.bpp-body strong, .bpp-body b { color: var(--e-ink); font-weight: 600; }
.bpp-body a:not(.wp-block-button__link):not(.m-pcard *) { color: var(--e-green); text-decoration: underline; text-underline-offset: 3px; }
.bpp-body ul { list-style: none; padding: 0; margin: 0 0 18px; display: flex; flex-direction: column; gap: 8px; }
.bpp-body ul li { position: relative; padding-left: 22px; }
.bpp-body ul li::before { content: ""; position: absolute; left: 0; top: .72em; width: 8px; height: 8px; background: var(--bp-lime); }
.bpp-body p.vc_custom_heading:only-child { font-size: 12px !important; letter-spacing: .2em; text-transform: uppercase; font-weight: 600 !important; color: var(--e-green) !important; text-align: left !important; margin: 0 0 -8px !important; }
.bpp-body .m-us-image { margin: 0 0 16px; }
.bpp-body .m-us-image img, .bpp-body .wpb_single_image img { width: 100%; height: auto; display: block; }
.bpp-body .vc_col-sm-6 .m-us-image img, .bpp-body .vc_col-sm-4 .m-us-image img { aspect-ratio: 4 / 3; object-fit: cover; }
.bpp-body .ult-spacer { display: none; }
/* Πίνακες (π.χ. σύγκριση πακέτων) */
.bpp-body table { width: 100%; border-collapse: collapse; font-size: 15px; background: #fff; }
.bpp-body th, .bpp-body td { padding: 12px 14px !important; border: 0 !important; border-bottom: 1px solid #E2E3DD !important; text-align: left; color: var(--e-ink); background: transparent !important; }
.bpp-body td:not(:first-child), .bpp-body th:not(:first-child) { text-align: center; width: 110px; }
.bpp-body thead th, .bpp-body tr:first-child th { background: var(--bp-dark) !important; color: #fff !important; font-weight: 600; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; }
.bpp-body tr:hover td { background: var(--bp-light) !important; }
.bpp-body .tablepress, .bpp-body .wpb_wrapper > table { overflow-x: auto; display: block; }
/* Χρονολόγιο «Τα βήματα» → οριζόντια βήματα */
.bpp-body .timeline-wrapper { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 0; height: auto !important; border-top: 2px solid var(--e-ink); counter-reset: bpstep; }
.bpp-body .timeline-line, .bpp-body .timeline-dot, .bpp-body .ult-timeline-arrow, .bpp-body .timeline-separator-text, .bpp-body .timeline-feature-item { display: none !important; }
.bpp-body .timeline-block { position: static !important; width: auto !important; float: none !important; left: auto !important; top: auto !important; margin: 0 !important; padding: 22px 22px 22px 0 !important; border: 0 !important; counter-increment: bpstep; }
.bpp-body .timeline-block::before { content: counter(bpstep); display: inline-flex; width: 28px; height: 28px; align-items: center; justify-content: center; background: var(--bp-lime); color: var(--bp-dark); font-weight: 600; font-size: 14px; margin-bottom: 14px; }
.bpp-body .timeline-header-block, .bpp-body .timeline-header { background: transparent !important; border: 0 !important; padding: 0 !important; box-shadow: none !important; text-align: left !important; }
.bpp-body .timeline-icon-block { display: none !important; }
.bpp-body .ult-timeline-title { margin: 0 0 6px !important; font-size: 19px !important; text-align: left !important; }
.bpp-body .timeline-header p { font-size: 15px !important; line-height: 1.55 !important; text-align: left !important; }
/* Κάρτες άρθρων/έργων μέσα σε σελίδες */
.bpp-body .m-pgrid { gap: 40px 24px; }
.bpp-body .m-pcard { border: 0 !important; box-shadow: none !important; padding: 0 !important; background: transparent !important; }
.bpp-body .m-pcard-title { font-size: 20px !important; margin: 14px 0 6px !important; }
.bpp-body .m-pcard-title a { color: var(--e-ink) !important; text-decoration: none !important; }

/* Για εμάς */
.bpp-story { padding: clamp(64px, 8vw, 120px) var(--bp-pad); background: #fff; }
.bpp-story-row { display: grid; grid-template-columns: minmax(0, 400px) minmax(0, 1fr); gap: 20px 80px; padding: clamp(32px, 4vw, 52px) 0; border-top: 1px solid #E2E3DD; }
.bpp-story-row:last-child { border-bottom: 1px solid #E2E3DD; }
.bpp-story-h { display: flex; flex-direction: column; gap: 12px; }
.bpp-num { font-size: 13px; font-weight: 600; letter-spacing: .14em; color: var(--e-green); }
.bpp-story-h h2 { margin: 0; font-size: clamp(26px, 2.5vw, 36px); line-height: 1.12; font-weight: 600; letter-spacing: -.015em; }
.bpp-story-t { max-width: 760px; }
.bpp-story-t p { margin: 0 0 14px; font-size: 18px; line-height: 1.7; color: var(--e-body); }
.bpp-story-t p:last-child { margin-bottom: 0; }
.bpp-team { background: var(--bp-light); padding-bottom: clamp(64px, 8vw, 120px); }
.bpp-team-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px 24px; }
.bpp-team-grid figure { margin: 0; display: flex; flex-direction: column; gap: 14px; }
.bpp-team-grid figure > span { display: block; aspect-ratio: 4 / 5; overflow: hidden; background: #2B3A32; }
.bpp-team-grid img { width: 100%; height: 100%; object-fit: cover; display: block; filter: grayscale(1); transition: filter .4s ease, transform .7s ease; }
.bpp-team-grid figure:hover img { filter: none; transform: scale(1.03); }
.bpp-team-grid figcaption { display: flex; flex-direction: column; gap: 4px; }
.bpp-team-grid b { font-size: 19px; font-weight: 600; }
.bpp-team-grid small { font-size: 14px; color: #6B706A; }
.bpp-about .bp-process { margin-top: 0; }

/* Επικοινωνία */
.bpp-contact { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: 32px clamp(32px, 5vw, 80px); padding: clamp(56px, 7vw, 104px) var(--bp-pad); background: var(--bp-light); align-items: start; scroll-margin-top: 90px; }
.bpp-contact-info { display: flex; flex-direction: column; gap: 16px; }
.bpp-ci { display: flex; flex-direction: column; gap: 6px; padding: 28px 30px; background: #fff; border-top: 3px solid var(--bp-lime); color: var(--e-ink) !important; text-decoration: none !important; transition: box-shadow .2s; }
.bpp-ci:hover { box-shadow: 0 14px 34px rgba(0,0,0,.07); }
.bpp-ci small { font-size: 12px; letter-spacing: .18em; text-transform: uppercase; font-weight: 600; color: var(--e-green); }
.bpp-ci b { font-size: clamp(20px, 1.8vw, 26px); font-weight: 600; letter-spacing: -.01em; }
.bpp-ci span { font-size: 15px; color: var(--e-body); }
.bpp-contact-form { background: #fff; padding: clamp(24px, 3vw, 44px); display: flex; flex-direction: column; gap: 10px; }
.bpp-contact-form h2 { margin: 0 0 12px; font-size: clamp(26px, 2.4vw, 34px); font-weight: 600; letter-spacing: -.015em; }
.bpp-contact-form .wpforms-submit { background: var(--bp-dark) !important; color: #fff !important; height: 54px; padding: 0 34px !important; }
.bpp-contact-form .wpforms-submit:hover { background: var(--bp-lime) !important; color: var(--bp-dark) !important; }
.bpp-ci.is-phone { cursor: default; }
.bpp-ci.is-phone:hover { box-shadow: none; }
.bpp-ci-main { color: var(--e-ink) !important; text-decoration: none !important; }
.bpp-ci-main:hover b, .bpp-ci-2:hover { color: var(--e-green) !important; }
.bpp-ci-2 { font-size: 17px; font-weight: 500; color: var(--e-ink) !important; text-decoration: none !important; }
.bpp-form-text { margin: -4px 0 8px; font-size: 15px; line-height: 1.55; color: var(--e-body); }
.bpp-next { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 32px clamp(32px, 5vw, 80px); padding: clamp(48px, 6vw, 88px) var(--bp-pad); background: #fff; border-top: 1px solid #E2E3DD; align-items: start; }
.bpp-next h2 { margin: 0 0 22px; font-size: clamp(24px, 2.2vw, 32px) !important; font-weight: 600; letter-spacing: -.015em; }
.bpp-next ol { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; border-top: 2px solid var(--e-ink); }
.bpp-next li { margin: 0; padding-top: 22px; display: flex; flex-direction: column; gap: 10px; }
.bpp-next li b { font-size: 18px; font-weight: 600; }
.bpp-next li > span:last-child { font-size: 14px; line-height: 1.5; color: var(--e-body); }
.bpp-next-re { background: var(--bp-dark); color: #fff; padding: 30px 32px; display: flex; flex-direction: column; gap: 10px; border-top: 3px solid var(--bp-lime); }
.bpp-next-re b { font-size: 20px; font-weight: 600; }
.bpp-next-re p { margin: 0; font-size: 15px; line-height: 1.55; color: rgba(255,255,255,.75); }
.bpp-next-re a { color: var(--bp-lime) !important; font-weight: 600; text-decoration: none !important; margin-top: 6px; }
@media (max-width: 900px) { .bpp-next { grid-template-columns: 1fr; } .bpp-next ol { grid-template-columns: 1fr; border-top: 0; border-left: 2px solid var(--e-ink); padding-left: 20px; gap: 18px; } .bpp-next li { padding-top: 0; } }
.bpp-map iframe { display: block; width: 100%; height: clamp(320px, 34vw, 460px); border: 0; filter: grayscale(.4); }

/* Έργα: πλέγμα */
.bpp-projects { padding-bottom: clamp(64px, 8vw, 120px); background: #fff; }
.bpp-projects .bp-head { padding-right: 0; align-items: center; }
.bp-pgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 24px; }
.bp-pgrid .bp-pcard { width: auto; }
.bp-pgrid .bp-pcard-img { height: auto; aspect-ratio: 4 / 3; }
.bp-pcard-img.is-empty, .bp-post-img.is-empty { background: var(--bp-dark); display: flex; align-items: center; justify-content: center; }
.bp-post-img.is-empty i { font-style: normal; color: #3A3F45; font-weight: 600; letter-spacing: .3em; font-size: 14px; }

/* Blog */
.bpp-blog { padding-bottom: clamp(64px, 8vw, 120px); background: #fff; }
.bpp-posts { gap: 48px 24px; }
.bpp-cats { flex-direction: row !important; }
.bpp-cats a { height: 40px; padding: 0 16px; border: 1px solid #CFD1CA; display: inline-flex; align-items: center; color: var(--e-ink) !important; text-decoration: none !important; font: 500 12px 'Geologica', sans-serif; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.bpp-cats a.on { background: var(--bp-dark); border-color: var(--bp-dark); color: var(--bp-text) !important; }
.bpp-pages { display: flex; gap: 8px; flex-wrap: wrap; }
.bpp-pages .page-numbers { min-width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #CFD1CA; color: var(--e-ink) !important; text-decoration: none !important; font-weight: 500; padding: 0 12px; }
.bpp-pages .current { background: var(--bp-dark); border-color: var(--bp-dark); color: #fff !important; }
.bpp-404-links { display: flex; gap: 28px; font-size: 18px; }

/* Άρθρο */
.bpp-art { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 340px); gap: 40px clamp(40px, 6vw, 96px); padding: clamp(48px, 6vw, 88px) var(--bp-pad) 0; align-items: start; max-width: 1360px; margin: 0 auto; }
.bpp-art-main { min-width: 0; max-width: 820px; }
.bpp-art-img { width: 100%; height: auto; display: block; margin-bottom: clamp(28px, 3.5vw, 48px); }
.bpp-art-body { padding: 0 !important; max-width: none !important; }
.bpp-art-body > * { max-width: none !important; margin-left: 0 !important; }
.bpp-art-body h2 { font-size: clamp(26px, 2.4vw, 34px); font-weight: 600; letter-spacing: -.015em; line-height: 1.15; margin: 1.6em 0 .55em; }
.bpp-art-body h3 { font-size: clamp(20px, 1.7vw, 24px); font-weight: 600; margin: 1.4em 0 .5em; }
.bpp-art-body p, .bpp-art-body li { font-size: 18px; line-height: 1.75; color: var(--e-body); }
.bpp-art-body ul, .bpp-art-body ol { padding-left: 1.2em; }
.bpp-art-body li { margin-bottom: 6px; }
.bpp-art-body li::marker { color: var(--e-green); }
.bpp-art-body img { max-width: 100%; height: auto; }
.bpp-art-body a { color: var(--e-green); text-underline-offset: 3px; }
.bpp-art-body table { width: 100%; border-collapse: collapse; font-size: 15px; margin: 1.4em 0; }
.bpp-art-body th, .bpp-art-body td { padding: 10px 12px; border-bottom: 1px solid #E2E3DD; text-align: left; }
.bpp-art-body thead th { background: var(--bp-dark); color: #fff; }
.bpp-cta { top: 120px; }
.bpp-rel { background: var(--bp-light); margin-top: clamp(64px, 8vw, 120px); padding-bottom: clamp(64px, 8vw, 110px); }

@media (max-width: 1100px) {
	.bp-pgrid, .bpp-team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.bpp-art { grid-template-columns: 1fr; }
	.bpp-art .bpp-cta { position: static; max-width: 520px; }
}
@media (max-width: 860px) {
	.bpp-story-row, .bpp-contact { grid-template-columns: 1fr; }
	.bpp-posts { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
	.bp-pgrid, .bpp-posts { grid-template-columns: 1fr; }
	.bpp-team-grid { gap: 24px 14px; }
	.bpp-team-grid b { font-size: 16px; }
	.bpp-head.has-img { min-height: 420px; }
	.bpp-body p, .bpp-body li { font-size: 16px !important; }
	.bpp-body td:not(:first-child), .bpp-body th:not(:first-child) { width: 64px; padding: 10px 6px !important; }
	.bpp-cats { flex-wrap: nowrap; overflow-x: auto; width: 100%; scrollbar-width: none; }
	.bpp-art-body p, .bpp-art-body li { font-size: 17px; }
}
/* v3.2.1 */
.bpp-head.has-img { min-height: clamp(380px, 32vw, 520px); }
.bpp-team-grid figure > span { aspect-ratio: 1 / 1; background: transparent; clip-path: circle(49.5% at 50% 50%); max-width: 240px; }
.bpp-team-grid figure:hover img { transform: none; }
.bpp-body .wp-block-post-content { margin-left: 0 !important; }
.bpp-body .timeline-wrapper > :not(.timeline-block) { display: none !important; }
.bpp-body .timeline-block, .bpp-body .timeline-block * { width: auto !important; max-width: none !important; float: none !important; position: static !important; }
.bpp-body .timeline-wrapper { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important; }
.bpp-body .timeline-header p { color: var(--e-body) !important; }
.bpp-body .wpb_text_column:has(img) { max-width: none; }
.bpp-more-wrap { margin: 8px 0 0; display: flex; justify-content: center; }
.bpp-more { height: 56px; padding: 0 32px; background: var(--bp-dark); color: #fff; border: 0; font: 600 15px 'Geologica', sans-serif; cursor: pointer; }
.bpp-more:hover { background: var(--bp-lime); color: var(--bp-dark); }
.bpp-more span { font-weight: 400; opacity: .7; margin-left: 6px; }
.bpp-art { margin: 0; max-width: none; grid-template-columns: minmax(0, 820px) minmax(0, 340px); }
@media (max-width: 1100px) { .bpp-art { grid-template-columns: minmax(0, 1fr); } }
.bpp-slug-executive .bpp-body .vc_row-has-fill:first-of-type, .bpp-slug-executive .bpp-body .entry-content > .vc_row-has-fill, .bpp-slug-superior .bpp-body .entry-content > .vc_row-has-fill, .bpp-slug-deluxe .bpp-body .entry-content > .vc_row-has-fill { display: none !important; }
.bpp-body .tablepress, .bpp-body .wpb_wrapper > table { display: table !important; width: 100% !important; max-width: 1000px; }
.bpp-body .dataTables_wrapper { overflow-x: auto; max-width: 1000px; }
.bpp-body .tablepress th { width: auto !important; }
.bpp-body .tablepress tbody td { background: transparent !important; }
.bpp-body .tablepress tbody tr:has(td:nth-child(2):empty):has(td:nth-child(3):empty) td { background: var(--bp-light) !important; color: var(--e-ink) !important; font-weight: 600; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; padding-top: 20px !important; }
.bpp-body .tablepress td:not(:first-child) { color: var(--e-green) !important; font-weight: 700; }

/* =====================================================================
   v3.3 — Σύγκριση πακέτων ανακαίνισης
   ===================================================================== */
.bpp-packages { background: #fff; }
.bpk-sh { display: flex; flex-direction: column; gap: 14px; max-width: 760px; margin-bottom: clamp(28px, 3.5vw, 48px); }
.bpk-sh h2, .bpk-cat-t h2, .bpk-custom h2 { margin: 0; font-size: clamp(28px, 3vw, 44px); line-height: 1.08; font-weight: 600; letter-spacing: -.015em; }
.bpk-sh p { margin: 0; font-size: 18px; line-height: 1.6; color: var(--e-body); }

/* Εισαγωγή + κάρτες */
.bpk-top { padding: clamp(48px, 6vw, 88px) var(--bp-pad) clamp(56px, 7vw, 100px); background: var(--bp-light); }
.bpk-intro { margin: 0 0 clamp(32px, 4vw, 56px); max-width: 900px; font-size: clamp(18px, 1.4vw, 21px); line-height: 1.65; color: var(--e-ink); }
.bpk-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; align-items: stretch; }
.bpk-card { position: relative; background: #fff; padding: clamp(26px, 2.6vw, 38px); display: flex; flex-direction: column; gap: 12px; border-top: 3px solid #D9DBD4; }
.bpk-card.is-pick { background: var(--bp-dark); color: var(--bp-text); border-top-color: var(--bp-lime); }
.bpk-badge { position: absolute; top: -3px; right: 0; transform: translateY(-100%); background: var(--bp-lime); color: var(--bp-dark); font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; padding: 7px 12px; }
.bpk-card-n { font-size: 12px; letter-spacing: .18em; text-transform: uppercase; font-weight: 600; color: var(--e-green); }
.bpk-card.is-pick .bpk-card-n { color: var(--bp-lime); }
.bpk-card h3 { margin: 0; font-size: clamp(28px, 2.6vw, 38px); font-weight: 600; letter-spacing: -.02em; line-height: 1; }
.bpk-price { margin: 4px 0 0; display: flex; align-items: baseline; gap: 6px; }
.bpk-price b { font-size: clamp(40px, 4vw, 58px); font-weight: 300; letter-spacing: -.03em; line-height: 1; }
.bpk-price small { font-size: 15px; color: #6B706A; }
.bpk-card.is-pick .bpk-price small { color: var(--bp-mute); }
.bpk-card-t { margin: 6px 0 0; font-size: 16px; line-height: 1.6; color: var(--e-body); flex-grow: 1; }
.bpk-card.is-pick .bpk-card-t { color: var(--bp-body); }
.bpk-card-go { display: flex; flex-direction: column; gap: 12px; margin-top: 14px; }
.bpk-btn { height: 54px; display: inline-flex; align-items: center; justify-content: space-between; gap: 18px; padding: 0 20px; background: var(--bp-dark); color: #fff !important; font-weight: 600; font-size: 15px; text-decoration: none !important; }
.bpk-btn:hover { background: var(--bp-lime); color: var(--bp-dark) !important; }
.bpk-card.is-pick .bpk-btn { background: var(--bp-lime); color: var(--bp-dark) !important; }
.bpk-card.is-pick .bpk-btn:hover { background: #fff; }
.bpk-more { font-size: 14px; font-weight: 600; color: var(--e-green) !important; text-decoration: none !important; }
.bpk-card.is-pick .bpk-more { color: var(--bp-lime) !important; }

/* Πού διαφέρουν */
.bpk-diff { padding: clamp(64px, 8vw, 120px) var(--bp-pad); }
.bpk-diff-rows { border-top: 2px solid var(--e-ink); }
.bpk-diff-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 20px clamp(32px, 5vw, 80px); padding: clamp(28px, 3.5vw, 44px) 0; border-bottom: 1px solid #E2E3DD; align-items: center; }
.bpk-diff-t { display: flex; flex-direction: column; gap: 10px; }
.bpk-diff-t h3 { margin: 0; font-size: clamp(22px, 2vw, 28px); font-weight: 600; letter-spacing: -.01em; }
.bpk-diff-t p { margin: 0; font-size: 17px; line-height: 1.65; color: var(--e-body); max-width: 560px; }
.bpk-diff-v { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.bpk-diff-v div { background: var(--bp-light); padding: 18px 16px; display: flex; flex-direction: column; gap: 8px; min-height: 104px; }
.bpk-diff-v div:nth-child(2) { background: var(--bp-dark); color: var(--bp-text); }
.bpk-diff-v small { font-size: 11px; letter-spacing: .16em; text-transform: uppercase; font-weight: 600; color: #6B706A; }
.bpk-diff-v div:nth-child(2) small { color: var(--bp-lime); }
.bpk-diff-v b { font-size: 16px; font-weight: 500; line-height: 1.35; }

/* Αναλυτικοί πίνακες */
.bpk-detail { padding: clamp(56px, 7vw, 104px) var(--bp-pad) clamp(40px, 5vw, 72px); background: var(--bp-light); }
.bpk-legend { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; font-size: 15px !important; }
.bpk-legend .bpk-n { margin-left: 14px; }
.bpk-nav { position: sticky; top: 92px; z-index: 20; display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; padding: 10px 0; margin-bottom: 8px; background: var(--bp-light); border-bottom: 1px solid #DCDDD7; }
.admin-bar .bpk-nav { top: 124px; }
.bpk-nav::-webkit-scrollbar { display: none; }
.bpk-nav a { flex: none; height: 38px; display: inline-flex; align-items: center; padding: 0 14px; background: #fff; color: var(--e-ink) !important; text-decoration: none !important; font-size: 13.5px; font-weight: 500; white-space: nowrap; border: 1px solid #DCDDD7; }
.bpk-nav a:hover, .bpk-nav a.on { background: var(--bp-dark); border-color: var(--bp-dark); color: #fff !important; }
.bpk-cat { display: grid; grid-template-columns: minmax(0, 380px) minmax(0, 1fr); gap: 24px clamp(32px, 5vw, 80px); padding: clamp(36px, 4.5vw, 64px) 0; border-bottom: 1px solid #DCDDD7; scroll-margin-top: 160px; align-items: start; }
.bpk-cat-t { position: sticky; top: 170px; display: flex; flex-direction: column; gap: 14px; }
.bpk-cat-t h2 { font-size: clamp(24px, 2.2vw, 32px); }
.bpk-cat-t p { margin: 0; font-size: 16px; line-height: 1.65; color: var(--e-body); }
.bpk-table { width: 100%; border-collapse: collapse; background: #fff; }
.bpk-table thead th { background: var(--bp-dark); color: #fff; font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; padding: 14px 12px; text-align: center; }
.bpk-table thead th:first-child { text-align: left; padding-left: 20px; }
.bpk-table thead th:nth-child(3) { background: #23272C; box-shadow: inset 0 3px 0 var(--bp-lime); }
.bpk-table tbody th { text-align: left; font-weight: 400; font-size: 16px; line-height: 1.45; color: var(--e-ink); padding: 15px 20px; }
.bpk-table td { text-align: center; width: 112px; padding: 15px 8px; }
.bpk-table td:nth-child(3) { background: rgba(140,198,63,.07); }
.bpk-table tbody tr { border-bottom: 1px solid #ECEDE8; }
.bpk-table tbody tr:last-child { border-bottom: 0; }
.bpk-table tr.is-diff th { font-weight: 600; }
.bpk-y { display: inline-flex; width: 26px; height: 26px; align-items: center; justify-content: center; background: var(--bp-lime); color: var(--bp-dark); font-style: normal; font-weight: 700; font-size: 14px; }
.bpk-n { display: inline-flex; width: 26px; height: 26px; align-items: center; justify-content: center; color: #B4B8B0; font-style: normal; font-size: 26px; line-height: 1; }
.bpk-s { display: none; }
.bpk-excl { grid-template-columns: minmax(0, 380px) minmax(0, 1fr); border-bottom: 0; }
.bpk-excl > p { margin: 0; padding: 26px 30px; background: #fff; border-left: 3px solid #E0A33A; font-size: 17px; line-height: 1.7; color: var(--e-body); }

/* Ποιο πακέτο σε ποιον */
.bpk-fit { padding-bottom: clamp(64px, 8vw, 110px); background: #fff; }
.bpk-fit-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.bpk-fit-grid article { border-top: 2px solid var(--e-ink); padding-top: 22px; display: flex; flex-direction: column; gap: 12px; }
.bpk-tag { align-self: flex-start; background: var(--bp-dark); color: var(--bp-lime); font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; padding: 6px 10px; }
.bpk-fit-grid h3 { margin: 0; font-size: 22px; font-weight: 600; line-height: 1.2; }
.bpk-fit-grid p { margin: 0; font-size: 16px; line-height: 1.65; color: var(--e-body); }

/* Δικό σας πακέτο */
.bpk-custom { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px clamp(32px, 5vw, 80px); padding: clamp(56px, 7vw, 96px) var(--bp-pad); background: var(--bp-lime); align-items: center; }
.bpk-custom .bp-lbl { color: var(--bp-dark); }
.bpk-custom > div:first-child { display: flex; flex-direction: column; gap: 14px; }
.bpk-custom h2 { color: var(--bp-dark); }
.bpk-custom p { margin: 0 0 22px; font-size: 18px; line-height: 1.65; color: #1F2A12; }
.bpk-custom .bpk-btn:hover { background: #fff; }

/* FAQ */
.bpk-faq { padding-bottom: clamp(64px, 8vw, 110px); background: #fff; }
.bpk-faq-list { border-top: 2px solid var(--e-ink); max-width: 980px; }
.bpk-faq-list details { border-bottom: 1px solid #E2E3DD; }
.bpk-faq-list summary { list-style: none; cursor: pointer; padding: 22px 48px 22px 0; position: relative; font-size: clamp(18px, 1.5vw, 21px); font-weight: 600; color: var(--e-ink); }
.bpk-faq-list summary::-webkit-details-marker { display: none; }
.bpk-faq-list summary::after { content: "+"; position: absolute; right: 6px; top: 50%; transform: translateY(-50%); font-size: 28px; font-weight: 300; color: var(--e-green); }
.bpk-faq-list details[open] summary::after { content: "−"; }
.bpk-faq-list details p { margin: 0 0 24px; font-size: 17px; line-height: 1.7; color: var(--e-body); max-width: 820px; }
.bpk-also { display: flex; flex-wrap: wrap; gap: 8px 18px; font-size: 15px; color: #6B706A; margin: 0; }
.bpk-also a { color: var(--e-green) !important; font-weight: 600; }

@media (max-width: 1100px) {
	.bpk-cards, .bpk-fit-grid { grid-template-columns: 1fr; }
	.bpk-card { max-width: 640px; }
	.bpk-badge { transform: none; top: 0; }
	.bpk-diff-row, .bpk-cat, .bpk-excl, .bpk-custom { grid-template-columns: 1fr; }
	.bpk-cat-t { position: static; }
	.bpk-nav { top: 66px; }
	.admin-bar .bpk-nav { top: 98px; }
}
@media (max-width: 782px) { .admin-bar .bpk-nav { top: 66px; } }
@media (max-width: 640px) {
	.bpk-diff-v { gap: 4px; }
	.bpk-diff-v div { padding: 12px 10px; min-height: 0; }
	.bpk-diff-v b { font-size: 14px; }
	.bpk-l { display: none; }
	.bpk-s { display: inline; }
	.bpk-table thead th { padding: 12px 4px; letter-spacing: .06em; }
	.bpk-table tbody th { font-size: 14.5px; padding: 13px 10px 13px 14px; }
	.bpk-table td { width: 48px; padding: 13px 2px; }
	.bpk-y, .bpk-n { width: 22px; height: 22px; font-size: 12px; }
	.bpk-n { font-size: 22px; }
	.bpk-detail { padding-left: 0; padding-right: 0; }
	.bpk-detail .bpk-sh, .bpk-cat-t, .bpk-excl > p { padding-left: 16px; padding-right: 16px; }
	.bpk-nav { padding-left: 16px; padding-right: 16px; }
}
.bpp-lbl-x { text-transform: none; letter-spacing: .04em; font-size: 14px; }
/* v3.3.2 — υπομενού «Υπηρεσίες»: σκούρο hover αντί για λευκό */
.bp-header .m-menu .sub-menu a:hover, .bp-header .m-menu .sub-menu a:focus, .bp-header .m-menu .sub-menu .current-menu-item > a { background: rgba(255,255,255,.07) !important; color: var(--bp-lime) !important; }
.bp-header .m-burger-panel .m-menu .sub-menu a:hover { background: transparent !important; }
.bpp-member { display: block; color: var(--e-ink) !important; text-decoration: none !important; }
.bpp-member em { font-style: normal; font-size: 14px; font-weight: 600; color: var(--e-green); margin-top: 4px; opacity: 0; transition: opacity .2s; }
a.bpp-member:hover em, a.bpp-member:focus em { opacity: 1; }
a.bpp-member:hover img { filter: none; }
a.bpp-member:hover b { color: var(--e-green); }
@media (hover: none) { .bpp-member em { opacity: 1; } }
.bp-stats b small { font-size: .45em; font-weight: 400; letter-spacing: 0; color: var(--bp-lime); }

/* v3.4 — Βιογραφικά */
.bpm-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 360px); gap: 32px clamp(32px, 5vw, 80px); align-items: end; }
.bpm-photo { position: relative; z-index: 1; width: 100%; max-width: 360px; aspect-ratio: 1 / 1; clip-path: circle(49.5% at 50% 50%); background: #2B3A32; justify-self: end; }
.bpm-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bpm-head .bpp-lead { max-width: 560px; }
.bpm-body { font-size: 18px; }
.bpm-body > *:first-child { margin-top: 0 !important; }
.bpm-body h2, .bpm-body h3 { font-size: clamp(22px, 2vw, 28px); font-weight: 600; letter-spacing: -.01em; line-height: 1.2; color: var(--e-ink); margin: 1.6em 0 .6em; }
.bpm-body h4 { font-size: 18px; font-weight: 600; margin: 1.4em 0 .4em; }
.bpm-body p, .bpm-body li { font-size: 17px; line-height: 1.75; color: var(--e-body); }
.bpm-body p { margin: 0 0 14px; }
.bpm-body strong, .bpm-body b { color: var(--e-ink); font-weight: 600; }
.bpm-body ul { list-style: none; padding: 0; margin: 0 0 18px; display: flex; flex-direction: column; gap: 8px; }
.bpm-body ul li { position: relative; padding-left: 22px; }
.bpm-body ul li::before { content: ""; position: absolute; left: 0; top: .72em; width: 8px; height: 8px; background: var(--bp-lime); }
.bpm-body a { color: var(--e-green); text-underline-offset: 3px; }
.bpm-art { padding-bottom: clamp(56px, 7vw, 100px); }
.bpm-others .bpp-team-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 860px) {
	.bpm-head { grid-template-columns: 1fr; }
	.bpm-photo { justify-self: start; max-width: 220px; order: -1; }
}
/* v3.4.1 — ορθογώνιες φωτογραφίες ομάδας (όχι κύκλοι) */
.bpp-team-grid figure > span { clip-path: none !important; aspect-ratio: 4 / 5 !important; max-width: none !important; background: #2B3A32 !important; }
.bpp-team-grid img { object-position: 50% 20%; }
.bpm-photo { clip-path: none !important; aspect-ratio: 4 / 5 !important; max-width: 340px; }
.bpm-photo img { object-position: 50% 20%; }
.bpm-head { align-items: center; }
@media (max-width: 860px) { .bpm-photo { max-width: 260px; } }

/* v3.5 — SEO: υπογραφή, πίνακας περιεχομένων, πλαίσιο συγγραφέα, σύνδεσμος τιμών */
.bpp-byline { margin: 0; font-size: 15px; color: var(--bp-text); }
.bpp-byline a { color: var(--bp-lime) !important; font-weight: 600; text-decoration: none !important; }
.bps-toc { margin: 0 0 2em; background: var(--bp-light); border-left: 3px solid var(--bp-lime); }
.bps-toc summary { list-style: none; cursor: pointer; padding: 16px 22px; font-weight: 600; font-size: 16px; display: flex; justify-content: space-between; gap: 12px; }
.bps-toc summary::-webkit-details-marker { display: none; }
.bps-toc summary span { font-weight: 400; font-size: 14px; color: #6B706A; }
.bps-toc ol { margin: 0; padding: 0 22px 18px 42px; display: flex; flex-direction: column; gap: 6px; }
.bps-toc li { font-size: 16px !important; line-height: 1.45 !important; margin: 0 !important; }
.bps-toc li::marker { color: var(--e-green); font-weight: 600; }
.bps-toc a { color: var(--e-ink) !important; text-decoration: none !important; }
.bps-toc a:hover { color: var(--e-green) !important; text-decoration: underline !important; }
.bpp-art-body h2[id] { scroll-margin-top: 110px; }
.bps-author { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 24px; margin: 48px 0 0; padding: 28px; background: var(--bp-light); border-top: 3px solid var(--bp-lime); }
.bps-author-img img { width: 120px; height: 150px; object-fit: cover; object-position: 50% 20%; display: block; }
.bps-author div { display: flex; flex-direction: column; gap: 6px; }
.bps-author b { font-size: 21px; font-weight: 600; }
.bps-author b a { color: var(--e-ink) !important; text-decoration: none !important; }
.bps-author small { font-size: 14px; color: #6B706A; }
.bps-author p { margin: 6px 0 4px; font-size: 16px; line-height: 1.6; color: var(--e-body); }
.bp-svc-more { margin: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 18px; font-size: 17px; color: var(--e-body); }
.bp-svc-more > a:not(.bp-link) { color: var(--e-ink) !important; font-weight: 600; }
.bps-pkg-h2 { font-size: clamp(26px, 2.6vw, 36px) !important; margin: 0 0 28px !important; }
@media (max-width: 600px) { .bps-author { grid-template-columns: 1fr; } }
.bps-author.is-team .bps-author-img img { width: 120px; height: auto; object-fit: contain; padding: 14px 0; }
/* v3.6 */
.bps-faq { margin-top: clamp(40px, 5vw, 72px); padding-top: clamp(40px, 5vw, 64px); border-top: 1px solid #E2E3DD; display: flex; flex-direction: column; gap: 14px; max-width: 980px; }
.bps-faq h2 { margin: 0 0 14px !important; }
.bps-faq summary h3 { display: inline; margin: 0 !important; font-size: clamp(18px, 1.5vw, 21px) !important; font-weight: 600 !important; }
.bps-faq .bpk-faq-list details p { font-size: 17px !important; }
.e-foot-legal-links a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }

/* v3.8 — «Περισσότερα έργα» ως σύνδεσμος (σελιδοποίηση για τη Google) */
a.bpp-more { display: inline-flex; align-items: center; text-decoration: none; }
a.bpp-more[aria-busy="true"] { opacity: .6; pointer-events: none; }
.bpp-prev { text-align: center; margin: 16px 0 0; font-size: 14px; color: var(--bp-mute, #6b6b6b); }
.bpp-prev a { color: inherit; }

/* v3.9.1 — Footer χωρίς επανάληψη: ωράριο & social στο «Επικοινωνία», κάτω μόνο copyright, πολιτικές, ΕΣΠΑ */
.bp-social { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 4px 0 0 !important; font-size: 15px; }
.bp-social a { color: var(--bp-text) !important; text-decoration: none; border-bottom: 1px solid var(--bp-lime); padding-bottom: 2px; }
.bp-social a:hover { color: var(--bp-lime) !important; }
.bp-social.is-light { padding-top: 8px; }
.bp-social.is-light a { color: var(--e-ink, #141619) !important; }
.bp-social.is-light a:hover { color: #3F6B12 !important; }
/* όταν η σελίδα έχει ήδη ενότητα επικοινωνίας, το footer κρατά μόνο τη γραμμή copyright */
body:has(.bp-contact, .bpp-contact, #ms-contact) .bp-foot .e-foot-top,
body:has(.bp-contact, .bpp-contact, #ms-contact) .bp-foot .e-foot-row { display: none; }
body:has(.bp-contact, .bpp-contact, #ms-contact) .bp-foot .e-foot-legal { border-top: 0; padding-top: 0; }
body:has(.bp-contact, .bpp-contact, #ms-contact) .m-footer.e-footer { padding-top: 22px !important; padding-bottom: 22px !important; border-top: 1px solid var(--bp-line, rgba(255,255,255,.12)) !important; }

/* v3.9.4 — Banner cookies (Complianz) στο ύφος της MECHA: πράσινο, χωρίς στρογγυλέματα */
.cmplz-cookiebanner {
	--cmplz_banner_border_radius: 0 !important;
	--cmplz_button_border_radius: 0 !important;
	--cmplz_button_accept_background_color: #8CC63F !important;
	--cmplz_button_accept_border_color: #8CC63F !important;
	--cmplz_button_accept_text_color: #141619 !important;
	--cmplz_button_deny_background_color: #F4F4F1 !important;
	--cmplz_button_deny_border_color: #F4F4F1 !important;
	--cmplz_button_deny_text_color: #141619 !important;
	--cmplz_button_settings_background_color: #F4F4F1 !important;
	--cmplz_button_settings_border_color: #F4F4F1 !important;
	--cmplz_button_settings_text_color: #141619 !important;
	--cmplz_slider_active_color: #8CC63F !important;
	--cmplz_hyperlink_color: #141619 !important;
	--cmplz_banner_width: 480px;
	font-family: 'Geologica', sans-serif !important;
	border-radius: 0 !important;
	box-shadow: 0 18px 50px rgba(0, 0, 0, .22) !important;
}
.cmplz-cookiebanner .cmplz-btn { border-radius: 0 !important; font-weight: 600 !important; }
.cmplz-cookiebanner .cmplz-btn.cmplz-accept { background: #8CC63F !important; border-color: #8CC63F !important; color: #141619 !important; }
.cmplz-cookiebanner .cmplz-btn.cmplz-accept:hover { background: #141619 !important; border-color: #141619 !important; color: #fff !important; }
.cmplz-cookiebanner .cmplz-btn.cmplz-deny, .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences, .cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences { background: #F4F4F1 !important; border-color: #F4F4F1 !important; color: #141619 !important; }
.cmplz-cookiebanner .cmplz-title { font-weight: 600 !important; color: #141619 !important; }
.cmplz-cookiebanner .cmplz-links a, .cmplz-cookiebanner .cmplz-link { color: #141619 !important; text-decoration: underline; text-underline-offset: 3px; }
#cmplz-manage-consent .cmplz-manage-consent { border-radius: 0 !important; background: #141619 !important; color: #fff !important; font-family: 'Geologica', sans-serif !important; }
.e-foot-consent a, .e-foot-consent button { color: inherit !important; background: none !important; border: 0 !important; padding: 0 !important; font: inherit !important; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }

/* ============ B+ v4.1.0 — Άρθρα: σύντομη απάντηση + συχνές ερωτήσεις ============ */
.bpp-art-body .bp-answer { margin: 0 0 2em; padding: 22px 24px; background: #F1F6EA; border-left: 4px solid var(--e-green); border-radius: 0; display: flex; flex-direction: column; gap: 8px; }
.bpp-art-body .bp-answer p { margin: 0; font-size: 19px; line-height: 1.65; color: var(--e-ink); }
.bpp-art-body .bp-post-faq { max-width: none; }
.bpp-art-body .bp-post-faq h2 { margin-top: 0; }
.bpp-art-body .bp-post-faq details p { color: var(--e-body); }

/* ============ B+ v4.4.0 — Άρθρο με τη λογική της σελίδας έργου ============ */
.bpa .pj-hero.bpa-hero { height: min(70vh, 760px); min-height: 380px; }
.bpa .pj-hero.no-img { height: auto; min-height: 340px; background: var(--e-dark, #131416); }
.bpa .pj-hero.no-img .pj-shade { display: none; }
.bpa .pj-hero h1 { font-size: clamp(32px, 4.2vw, 62px); line-height: 1.06; max-width: 1150px; text-wrap: balance; }
.bpa-facts dd a { color: var(--e-ink); text-decoration: none; }
.bpa-facts dd a:hover { color: var(--e-green); }
.bpa .pj-text-wrap.bpa-wrap { grid-template-columns: minmax(0, 1fr) minmax(0, 400px); }
.bpa-main { min-width: 0; max-width: 860px; }
.bpa-main .bpp-art-body > *:first-child { margin-top: 0; }
.bpa .pj-cta { padding: 34px 32px; gap: 16px; }
.bpa .pj-cta b { font-size: clamp(24px, 2vw, 30px); }
.bpa .pj-cta p { font-size: 17px; }
.bpa .pj-cta ul { font-size: 16px; }
.bpa .bps-author { margin-top: clamp(40px, 5vw, 64px); }
.bpa + .bpp-rel { margin-top: clamp(64px, 8vw, 120px); }
@media (max-width: 1100px) {
	.bpa .pj-text-wrap.bpa-wrap { grid-template-columns: minmax(0, 1fr); }
	.bpa .pj-cta { position: static; max-width: 560px; }
}
@media (max-width: 700px) {
	.bpa .pj-hero.bpa-hero { height: 58vh; min-height: 320px; }
}

/* ============ B+ v4.5.0 — Αρχική: tuning ============ */
/* ετικέτα της κεφαλίδας σε πράσινο φόντο */
.bp-hero .bp-hero-copy .bp-lbl { display: inline-block; width: fit-content; background: var(--bp-lime); color: var(--bp-dark) !important; padding: 7px 12px; font-weight: 700; }
/* διεύθυνση ακινήτου σε πράσινο φόντο */
.bp-prop .bp-prop-t small { display: inline-block; width: fit-content; background: var(--bp-lime); color: var(--bp-dark); padding: 6px 11px; font-size: 15px; font-weight: 600; }
/* έργα: 6 σε πλέγμα αντί για λωρίδα */
.bp-projects { padding-right: var(--bp-pad); }
.bp-projects .bp-head { padding-right: 0; }
.bp-pgrid6 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 24px; }
.bp-pgrid6 .bp-pcard, .bp-pgrid6 .bp-pcard.is-wide { width: auto; }
.bp-pgrid6 .bp-pcard[hidden] { display: none; }
.bp-pgrid6 .bp-pcard-img { height: auto; aspect-ratio: 4 / 3; }
/* μεγάλο κουμπί «Όλα τα …» κάτω από την ενότητα */
.bp-more-wrap { display: flex; justify-content: center; margin-top: clamp(36px, 4vw, 56px); }
.bp-more-btn { display: inline-flex; align-items: center; justify-content: space-between; gap: 32px; min-width: min(100%, 340px); height: 62px; padding: 0 28px; background: var(--bp-dark); color: #fff !important; font-weight: 600; font-size: 17px; text-decoration: none !important; transition: background .2s, color .2s; }
.bp-more-btn:hover { background: var(--bp-lime); color: var(--bp-dark) !important; }
@media (max-width: 1000px) { .bp-pgrid6 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .bp-pgrid6 { grid-template-columns: minmax(0, 1fr); } .bp-more-btn { width: 100%; } }
/* έργα στο πλέγμα: τίτλος και από κάτω τύπος · έτος */
.bp-pgrid6 .bp-pcard-t { flex-direction: column; align-items: flex-start; gap: 4px; }
/* υπηρεσίες: ερώτηση → απάντηση */
.bp-card .bp-card-who { font-size: clamp(19px, 1.5vw, 22px); font-weight: 600; letter-spacing: -.005em; text-transform: none; color: var(--e-ink, #141619); line-height: 1.25; }
.bp-card .bp-card-body b { display: flex; align-items: baseline; gap: 12px; }
.bp-card-arrow { font-style: normal; color: var(--bp-lime); font-weight: 700; }

/* ============ B+ v4.6.2 — Έργα & άρθρα: κεντραρισμένο περιεχόμενο, χωρίς κενό στη μέση ============ */
.pj { --pj-max: 1320px; --pj-side: max(var(--pj-pad), calc((100% - var(--pj-max)) / 2)); }
.pj .pj-hero-in { padding-left: var(--pj-side); padding-right: var(--pj-side); }
.pj .pj-facts, .pj .pj-text-wrap, .pj .pj-adjs { margin-left: var(--pj-side); margin-right: var(--pj-side); }
.pj .pj-text-wrap { grid-template-columns: minmax(0, 1fr) minmax(0, 380px); gap: 40px 64px; }
.pj .pj-text { max-width: none; }
.bpa .pj-text-wrap.bpa-wrap { grid-template-columns: minmax(0, 1fr) minmax(0, 380px); }
.bpa-main { max-width: none; }
.bpa-main .bpp-art-body { max-width: 780px; }
/* άρθρα με περιεχόμενα: τρεις στήλες σε μεγάλη οθόνη (περιεχόμενα | κείμενο | προσφορά) */
.bpa.bpa, .bpa { --pj-max: 1320px; }
.bpa-toc-col { display: none; }
@media (min-width: 1280px) {
	.bpa:has(.toc-side) { --pj-max: 1500px; }
	.bpa .bpa-wrap.toc-side { grid-template-columns: 260px minmax(0, 1fr) 360px; gap: 40px 56px; }
	.bpa .bpa-wrap.toc-side .bpa-toc-col { display: block; position: sticky; top: 120px; align-self: start; max-height: calc(100vh - 140px); overflow-y: auto; }
	.admin-bar .bpa .bpa-wrap.toc-side .bpa-toc-col { top: 152px; }
	.bpa-toc-col .bps-toc { margin: 0; background: transparent; border-left: 0; border-top: 3px solid var(--bp-lime); }
	.bpa-toc-col .bps-toc summary { padding: 16px 0 12px; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; }
	.bpa-toc-col .bps-toc summary span { display: none; }
	.bpa-toc-col .bps-toc ol { padding: 0 0 0 20px; gap: 10px; }
	.bpa-toc-col .bps-toc li { font-size: 15px !important; }
	.bpa-toc-col .bps-toc a.is-on { color: var(--e-green) !important; font-weight: 600; }
}
@media (max-width: 1100px) {
	.pj .pj-text-wrap, .bpa .pj-text-wrap.bpa-wrap { grid-template-columns: minmax(0, 1fr); }
}

/* v4.6.2 — Συγγραφέας: λευκό πλαίσιο με περίγραμμα και απόσταση από το «Διαβάστε επίσης» */
.bpa .bps-author { background: #fff; border: 1px solid #E3E5DF; border-top: 3px solid var(--bp-lime); }
.bpa .pj-text-wrap.bpa-wrap { padding-bottom: clamp(56px, 7vw, 104px); }
.bpa ~ .bpp-rel { margin-top: 0; padding-top: clamp(56px, 7vw, 96px); border-top: 1px solid #E3E5DF; }

/* v4.6.2 — Περιεχόμενα: χωρίς δεύτερη αρίθμηση όταν οι τίτλοι είναι ήδη αριθμημένοι */
.bps-toc.no-num ol { list-style: none; padding-left: 22px; }
.bps-toc ol { padding-left: 48px; }
@media (min-width: 1280px) {
	.bpa-toc-col .bps-toc ol { padding-left: 30px; }
	.bpa-toc-col .bps-toc.no-num ol { list-style: none; padding-left: 0; }
}

/* v4.7.0 — Σελίδα μέλους: όλο το περιεχόμενο στο ίδιο κεντραρισμένο πλαίσιο (1320), χωρίς κενό δεξιά */
.bpp-memberpage { --bm-side: max(var(--bp-pad), calc((100% - 1320px) / 2)); }
.bpp-memberpage .bpm-head, .bpp-memberpage .bpm-art, .bpp-memberpage .bpm-posts, .bpp-memberpage .bpm-others { padding-left: var(--bm-side); padding-right: var(--bm-side); }
.bpp-memberpage .bpm-head { grid-template-columns: minmax(0, 1fr) minmax(0, 380px); }
.bpp-memberpage .bpm-photo { max-width: 380px; }
.bpp-memberpage .bpm-art { max-width: none; margin: 0; grid-template-columns: minmax(0, 1fr) minmax(0, 380px); gap: 40px 64px; }
.bpp-memberpage .bpm-body { max-width: 860px; }
.bpm-posts { background: var(--bp-light); padding-top: clamp(56px, 7vw, 96px); padding-bottom: clamp(56px, 7vw, 96px); }
.bpm-posts + .bpm-others { background: #fff; padding-top: clamp(56px, 7vw, 96px); }
@media (max-width: 1000px) {
	.bpp-memberpage .bpm-head, .bpp-memberpage .bpm-art { grid-template-columns: minmax(0, 1fr); }
}
.bpp-blog-more { margin-top: clamp(32px, 4vw, 56px); }
.bpp-blog-more .bp-more-btn[aria-busy] { opacity: .6; pointer-events: none; }

/* ============ v4.8.0 — Κατασκευή σπιτιού: ίδια σχεδίαση με την Ανακαίνιση ============ */
.bd .bd-why { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bd-phases { display: flex; flex-direction: column; gap: 1px; background: #E7E8E3; border: 1px solid #E7E8E3; }
.bd-phase { display: grid; grid-template-columns: minmax(0, 380px) minmax(0, 1fr); background: #fff; }
.bd-phase-h { background: var(--d-ground); padding: 28px; display: flex; flex-direction: column; gap: 12px; border-right: 1px solid #E7E8E3; }
.bd-phase-n { align-self: flex-start; background: var(--d-lime); color: var(--d-ink); font-size: 12px; text-transform: uppercase; padding: 6px 10px; font-weight: 600; }
.bd-phase-h h3 { margin: 0; font-size: clamp(22px, 2vw, 28px); font-weight: 600; line-height: 1.15; letter-spacing: -.01em; }
.bd-phase-h p { margin: 0; font-size: 16px; line-height: 1.55; color: var(--d-body); }
.bd-phase-img { width: 100%; max-width: 260px; height: auto; display: block; margin-top: auto; padding-top: 12px; mix-blend-mode: multiply; }
.bd-phase-b { padding: 28px; display: flex; flex-direction: column; gap: 14px; }
.bd-phase-steps { list-style: none; margin: 0; padding: 0; counter-reset: bds; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: #E7E8E3; border: 1px solid #E7E8E3; }
.bd-phase-steps li { counter-increment: bds; background: #fff; margin: 0; padding: 18px 20px; display: flex; flex-direction: column; gap: 6px; }
.bd-phase-steps li::before { content: counter(bds, decimal-leading-zero); font-size: 12px; letter-spacing: .06em; color: var(--d-mute); }
.bd-phase-steps b { font-size: 17px; font-weight: 600; color: var(--d-ink); }
.bd-phase-steps span { font-size: 15px; line-height: 1.55; color: var(--d-body); }
.bd-tip { margin: 0; display: flex; gap: 14px; align-items: baseline; padding: 14px 18px; border-left: 3px solid var(--d-lime); background: var(--d-ground); font-size: 15px; line-height: 1.55; color: var(--d-body); }
.bd-tip .d-mono { flex: none; font-size: 11px; text-transform: uppercase; color: var(--d-green); font-weight: 600; }
.bd .rn-two { align-items: start; }
@media (max-width: 1100px) {
	.bd .bd-why { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.bd-phase { grid-template-columns: minmax(0, 1fr); }
	.bd-phase-h { border-right: 0; border-bottom: 1px solid #E7E8E3; }
	.bd-phase-img { max-width: 180px; }
}
@media (max-width: 700px) {
	.bd .bd-why, .bd-phase-steps { grid-template-columns: minmax(0, 1fr); }
	.bd-phase-h, .bd-phase-b { padding: 22px 18px; }
	.bd-tip { flex-direction: column; gap: 4px; }
}

/* v4.8.0 — Κεντραρισμένο πλαίσιο 1320 στις σελίδες με κείμενο (χωρίς άδειο χώρο δεξιά σε μεγάλες οθόνες) */
.bpp-main { --bp-side: max(var(--bp-pad), calc((100% - 1320px) / 2)); }
.bpp-about .bpp-story { padding-left: var(--bp-side); padding-right: var(--bp-side); }
.bpp-about .bpp-story-t { max-width: none; }
.bpp-page:has(> .bpp-head) .bpp-head, .bpp-page:has(> .bpp-head) .bpp-body { padding-left: var(--bp-side) !important; padding-right: var(--bp-side) !important; }
.bpp-page:has(> .bpp-head) .bpp-body .wp-block-post-content { max-width: none !important; margin: 0 !important; }
.bpp-page:has(> .bpp-head) .bpp-body .wp-block-post-content > :is(p, ul, ol, h2, h3, h4, table, blockquote) { max-width: 880px !important; }

/* ============ v4.8.0 — Σελίδες πακέτων Executive / Superior / Deluxe ============ */
.is-pkgpage .bpp-body { padding-top: 0 !important; }
.pp { display: flex; flex-direction: column; gap: clamp(36px, 4.5vw, 64px); }
.pp-facts { margin: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border: 1px solid #E2E3DD; border-top: 0; background: #fff; }
.pp-facts > div { padding: 22px 24px; border-left: 1px solid #E2E3DD; display: flex; flex-direction: column; gap: 6px; }
.pp-facts > div:first-child { border-left: 0; }
.pp-facts dt { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: #6B706A; }
.pp-facts dd { margin: 0; font-size: 17px; font-weight: 600; color: var(--e-ink); line-height: 1.3; }
.pp-facts .is-price { background: var(--bp-lime); }
.pp-facts .is-price dt { color: var(--e-ink); }
.pp-facts .is-price b { font-size: 30px; letter-spacing: -.02em; }
.pp-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 420px); gap: 16px 64px; align-items: end; }
.bpp-body .pp-lead { margin: 0 !important; font-size: clamp(20px, 1.8vw, 26px) !important; line-height: 1.45 !important; font-weight: 300; color: var(--e-ink) !important; max-width: 820px !important; }
.bpp-body .pp-sub { margin: 0 !important; font-size: 15px !important; color: #6B706A !important; border-left: 3px solid var(--bp-lime); padding-left: 16px; }
.pp-nav { display: flex; flex-wrap: wrap; gap: 8px; position: sticky; top: 84px; z-index: 5; background: #fff; padding: 12px 0; border-bottom: 1px solid #E2E3DD; }
.admin-bar .pp-nav { top: 116px; }
.pp-nav a { padding: 8px 14px; border: 1px solid #D5D7D0; font-size: 14px; font-weight: 500; color: var(--e-ink) !important; text-decoration: none !important; white-space: nowrap; }
.pp-nav a:hover, .pp-nav a.on { background: var(--e-ink); border-color: var(--e-ink); color: #fff !important; }
.pp-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: #E2E3DD; border: 1px solid #E2E3DD; }
.pp-card { background: #fff; display: flex; flex-direction: column; scroll-margin-top: 170px; }
.pp-card-img { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: #EEF0EA; }
.pp-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s; }
.pp-card:hover .pp-card-img img { transform: scale(1.04); }
.pp-card-b { padding: 22px 24px 26px; display: flex; flex-direction: column; gap: 10px; }
.pp-card-n { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: #6B706A; }
.bpp-body .pp-card-t { margin: 0 !important; font-size: 22px !important; line-height: 1.2 !important; }
.bpp-body .pp-list { list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.bpp-body .pp-list li { position: relative; padding-left: 24px; margin: 0; font-size: 15px !important; line-height: 1.5 !important; }
.pp-list li::before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--e-green); font-weight: 700; }
.pp-out { display: flex; gap: 8px 16px; flex-wrap: wrap; align-items: baseline; padding: 18px 22px; background: repeating-linear-gradient(135deg, #F4F3EE 0 8px, #E9E8E1 8px 9px); border: 1px solid #E2E3DD; font-size: 16px; }
.pp-out span { color: var(--e-body); }
.pp-others-h { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px 24px; margin-bottom: 20px; }
.pp-others-h .bp-lbl { width: 100%; }
.bpp-body .pp-h2 { margin: 0 !important; font-size: clamp(26px, 2.6vw, 38px) !important; flex: 1; }
.pp-others-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.pp-other { display: flex; flex-direction: column; gap: 10px; padding: 24px; border: 1px solid #E2E3DD; background: var(--bp-light); color: var(--e-ink) !important; text-decoration: none !important; transition: border-color .2s, background .2s; }
.pp-other:hover { border-color: var(--e-ink); background: #fff; }
.pp-other-top { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.pp-other-top b { font-size: 24px; font-weight: 600; }
.pp-other-top span { font-weight: 600; color: var(--e-green); }
.pp-other-d { font-size: 16px; line-height: 1.55; color: var(--e-body); }
.pp-other-l { font-weight: 600; margin-top: auto; }
.pp-cta { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 360px); gap: 24px 64px; align-items: center; background: var(--bp-dark); color: #fff; padding: clamp(28px, 4vw, 48px); }
.pp-cta .bp-lbl { color: var(--bp-lime); }
.bpp-body .pp-cta .pp-h2 { color: #fff !important; margin: 8px 0 10px !important; }
.bpp-body .pp-cta p { margin: 0 !important; color: #C9CCC5 !important; }
.pp-cta-btns { display: flex; flex-direction: column; gap: 12px; }
.pp-cta-btns .pj-cta-tel { color: #fff !important; text-align: center; }
@media (max-width: 1100px) {
	.pp-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.pp-facts > div:nth-child(4) { border-left: 0; }
	.pp-facts > div:nth-child(n+4) { border-top: 1px solid #E2E3DD; }
	.pp-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pp-intro, .pp-cta { grid-template-columns: minmax(0, 1fr); }
	.pp-nav, .admin-bar .pp-nav { top: 64px; }
}
@media (max-width: 700px) {
	.pp-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pp-facts > div { border-left: 0 !important; border-top: 1px solid #E2E3DD; }
	.pp-facts .is-price { grid-column: 1 / -1; border-top: 0; }
	.pp-grid, .pp-others-grid { grid-template-columns: minmax(0, 1fr); }
	.pp-nav { flex-wrap: nowrap; overflow-x: auto; }
}
.pp-cta .pj-cta-btn:hover { background: #fff; color: var(--e-ink) !important; }
.bpp-by { margin: 0 0 24px; font-size: 17px; color: var(--e-body); }
.bpp-by a { margin-left: 12px; font-weight: 600; color: var(--e-green) !important; }
/* Πακέτα: οι κατηγορίες σε μία γραμμή που κυλάει οριζόντια */
.pp-nav { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: thin; }

/* ============ B+ v2 — Συχνές ερωτήσεις: θέματα σε κουτάκια, όλες οι ερωτήσεις του site ============ */
.gd-main { padding: 0 !important; background: #fff; }
.gd { --gd-side: max(var(--bp-pad), calc((100% - 1320px) / 2)); }
.gd-hero { position: relative; overflow: hidden; background: var(--bp-dark); color: #fff; padding: clamp(56px, 7vw, 104px) var(--gd-side) clamp(40px, 5vw, 64px); }
.gd-hero-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .38; }
.gd-hero.has-img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(20,22,25,.92) 0%, rgba(20,22,25,.55) 60%, rgba(20,22,25,.35) 100%); }
.gd-hero-in { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 22px; }
.gd-crumbs { display: flex; gap: 10px; font-size: 14px; color: #C9CCC5; }
.gd-crumbs a { color: #fff !important; text-decoration: none !important; }
.gd-crumbs i { font-style: normal; color: #8E928B; }
.gd-hero h1 { margin: 0; font-size: clamp(38px, 5vw, 72px); line-height: 1.02; font-weight: 600; letter-spacing: -.025em; color: #fff; }
.gd-lead { margin: 0; max-width: 640px; font-size: clamp(17px, 1.4vw, 20px); line-height: 1.55; color: #DADDD6; }
.gd-search { position: relative; display: block; max-width: 640px; }
.gd-search input { width: 100%; height: 62px; box-sizing: border-box; border: 0; border-radius: 0; padding: 0 60px 0 22px; font: 400 17px 'Geologica', sans-serif; color: var(--e-ink); background: #fff; }
.gd-search input:focus { outline: 3px solid var(--bp-lime); outline-offset: 0; }
.gd-search svg { position: absolute; right: 20px; top: 50%; transform: translateY(-50%); color: var(--e-ink); pointer-events: none; }
.gd-stats { list-style: none; margin: 18px 0 0; padding: 26px 0 0; border-top: 1px solid rgba(255,255,255,.16); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.gd-stats li { display: flex; align-items: center; gap: 14px; margin: 0; font-size: 15px; line-height: 1.35; color: #DADDD6; }
.gd-stats svg { width: 38px; height: 38px; flex: none; color: var(--bp-lime); }
.gd-stats b { display: block; font-size: 24px; color: #fff; font-weight: 600; }
.gd-sec { padding: clamp(56px, 6.5vw, 96px) var(--gd-side) 0; }
.gd-h2 { margin: 0 0 28px; font-size: clamp(26px, 2.6vw, 38px); line-height: 1.1; font-weight: 600; letter-spacing: -.015em; color: var(--e-ink); }
.gd-topics { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
.gd-topic { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 10px; padding: 28px 18px 24px; background: #fff; border: 1px solid #E2E3DD; border-radius: 0; cursor: pointer; font: inherit; color: var(--e-ink); transition: border-color .2s, box-shadow .2s, background .2s; position: relative; }
.gd-topic::after { content: ""; position: absolute; left: -1px; right: -1px; bottom: -1px; height: 3px; background: var(--bp-lime); transform: scaleX(0); transition: transform .25s; }
.gd-topic:hover { border-color: #C9CCC5; box-shadow: 0 12px 28px rgba(20,22,25,.07); }
.gd-topic:hover::after, .gd-topic.on::after { transform: scaleX(1); }
.gd-topic.on { background: var(--bp-dark); border-color: var(--bp-dark); color: #fff; }
.gd-topic-ic svg { width: 44px; height: 44px; color: var(--e-green); }
.gd-topic.on .gd-topic-ic svg { color: var(--bp-lime); }
.gd-topic b { font-size: 17px; font-weight: 600; }
.gd-topic small { font-size: 13.5px; line-height: 1.45; color: #6B706A; min-height: 2.9em; }
.gd-topic.on small { color: #B7BCB4; }
.gd-topic em { font-style: normal; font-size: 14px; font-weight: 600; color: var(--e-green); margin-top: auto; }
.gd-topic.on em { color: var(--bp-lime); }
.gd-qa-head { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px 18px; margin-bottom: 8px; }
.gd-qa-head .gd-h2 { margin: 0; }
.gd-n { font-size: 15px; color: #6B706A; }
.gd-clear { margin-left: auto; border: 1px solid #D5D7D0; background: #fff; padding: 8px 14px; font: 500 14px 'Geologica', sans-serif; cursor: pointer; border-radius: 0; color: var(--e-ink); }
.gd-clear:hover { background: var(--e-ink); color: #fff; }
.gd-list { border-top: 2px solid var(--e-ink); }
.gd-qa { border-bottom: 1px solid #E2E3DD; }
.gd-qa[hidden], .bp-more-wrap[hidden] { display: none; }
.gd-qa summary { list-style: none; cursor: pointer; display: grid; grid-template-columns: 200px minmax(0, 1fr) 28px; align-items: center; gap: 8px 24px; padding: 20px 0; }
.gd-qa summary::-webkit-details-marker { display: none; }
.gd-qa-t { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--e-green); font-weight: 600; }
.gd-qa h3 { margin: 0; font-size: 19px; line-height: 1.35; font-weight: 600; color: var(--e-ink); }
.gd-qa summary i { width: 28px; height: 28px; position: relative; }
.gd-qa summary i::before, .gd-qa summary i::after { content: ""; position: absolute; left: 6px; right: 6px; top: 13px; height: 2px; background: var(--e-ink); transition: transform .2s; }
.gd-qa summary i::after { transform: rotate(90deg); }
.gd-qa[open] summary i::after { transform: rotate(0); }
.gd-qa summary:hover h3 { color: var(--e-green); }
.gd-qa-a { padding: 0 52px 24px 224px; }
.gd-qa-a p { margin: 0 0 12px; font-size: 17px; line-height: 1.7; color: var(--e-body); max-width: 820px; }
.gd-qa-a a { font-weight: 600; font-size: 15px; color: var(--e-green) !important; text-decoration: none !important; }
.gd-qa-a a:hover { text-decoration: underline !important; }
.gd-empty { padding: 28px 0; font-size: 17px; }
.gd-cta { background: var(--bp-dark); color: #fff; padding: clamp(28px, 4vw, 48px); margin-bottom: clamp(56px, 6.5vw, 96px); }
.gd-cta-top { display: flex; justify-content: space-between; align-items: center; gap: 24px 48px; flex-wrap: wrap; padding-bottom: 28px; border-bottom: 1px solid rgba(255,255,255,.14); }
.gd-cta h2 { margin: 0 0 8px; font-size: clamp(24px, 2.4vw, 34px); font-weight: 600; color: #fff; }
.gd-cta p { margin: 0; color: #C9CCC5; max-width: 620px; font-size: 16px; line-height: 1.6; }
.gd-cta-btns { display: flex; gap: 12px; flex-wrap: wrap; }
.gd-btn { display: inline-flex; align-items: center; height: 54px; padding: 0 24px; background: var(--bp-lime); color: var(--bp-dark) !important; font-weight: 600; font-size: 15px; text-decoration: none !important; border: 1px solid var(--bp-lime); }
.gd-btn:hover { background: #fff; border-color: #fff; }
.gd-btn.is-line { background: transparent; color: #fff !important; border-color: rgba(255,255,255,.6); }
.gd-btn.is-line:hover { background: #fff; color: var(--bp-dark) !important; }
.gd-cta-feats { list-style: none; margin: 0; padding: 28px 0 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.gd-cta-feats li { display: flex; align-items: center; gap: 14px; margin: 0; font-size: 15px; line-height: 1.4; color: #DADDD6; }
.gd-cta-feats svg { width: 40px; height: 40px; flex: none; color: var(--bp-lime); }
@media (max-width: 1100px) {
	.gd-qa summary { grid-template-columns: minmax(0, 1fr) 28px; }
	.gd-qa-t { grid-column: 1 / -1; }
	.gd-qa-a { padding-left: 0; }
}
@media (max-width: 760px) {
	.gd-stats, .gd-cta-feats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gd-topics { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.gd-topic { padding: 20px 12px; }
	.gd-topic small { display: none; }
	.gd-qa h3 { font-size: 17px; }
	.gd-qa-a { padding-right: 0; }
}
/* Καρτέλες «Άρθρα | Συχνές ερωτήσεις» */
.gd-tabs { display: flex; gap: 0; border-bottom: 1px solid #E2E3DD; margin: 0 0 36px; }
.gd-tabs a { padding: 14px 22px; margin-bottom: -1px; font-weight: 600; font-size: 16px; color: #6B706A !important; text-decoration: none !important; border-bottom: 3px solid transparent; }
.gd-tabs a:hover { color: var(--e-ink) !important; }
.gd-tabs a.on { color: var(--e-ink) !important; border-bottom-color: var(--bp-lime); }
.bpp-blog .gd-tabs { margin-bottom: 8px; }
.bp-faq-link { font-size: 15px !important; }
.bp-faq-link a { color: var(--bp-lime) !important; font-weight: 600; text-decoration: none !important; }
.bp-faq-link a:hover { text-decoration: underline !important; }

/* 4.10.5 / 5.2.2 — πακέτα ψηλά, κάρτες-σύνδεσμοι */
.rn-pkgsec { margin-top: 56px; }
.rn-pkgsec .rn-pkgs { border: 0; gap: 20px; overflow: visible; border-radius: 0; }
a.rn-pkg, div.rn-pkg { border: 1px solid #D5D7D0 !important; border-radius: 0; text-decoration: none !important; color: var(--d-ink); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
a.rn-pkg:hover, a.rn-pkg:focus-visible { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(20,22,25,.14); border-color: var(--d-ink) !important; }
.rn-pkg.is-mid { border-color: var(--d-lime) !important; }
.rn-pkg.is-dark { border-color: var(--d-ink) !important; color: var(--d-ground); }
.rn-pkg-body > span { display: block; }
.rn-pkg .rn-pkg-t { font-size: 32px; font-weight: 600; line-height: 1.1; }
.rn-pkg .rn-pkg-d { font-size: 16px; line-height: 1.55; color: var(--d-body); }
.rn-pkg.is-dark .rn-pkg-d { color: #B8BDB5; }
.rn-pkg .rn-pkg-ul { padding-top: 14px; border-top: 1px dashed #D5D7D0; display: flex !important; flex-direction: column; gap: 8px; font-size: 15px; }
.rn-pkg.is-dark .rn-pkg-ul { border-color: var(--d-dline); }
.rn-pkg .rn-pkg-ul span::before { content: "— "; }
.rn-pkg .rn-pkg-cta { margin-top: auto; display: flex !important; justify-content: space-between; align-items: center; gap: 12px; padding: 15px 18px; background: var(--d-ink); color: #fff; font-size: 15px; font-weight: 600; }
.rn-pkg.is-mid .rn-pkg-cta, .rn-pkg.is-dark .rn-pkg-cta { background: var(--d-lime); color: var(--d-ink); }
.rn-pkg-cta i { font-style: normal; transition: transform .2s ease; }
a.rn-pkg:hover .rn-pkg-cta i { transform: translateX(5px); }
.rn-pkg-body { gap: 14px; }
@media (max-width: 900px) { .rn-pkgsec { margin-top: 36px; } .rn-pkgsec .rn-pkgs { grid-template-columns: 1fr; gap: 14px; } a.rn-pkg:hover { transform: none; } }

/* περιοχές + μαρτυρίες (redesign) */
.rn-areas { margin: 22px 0 0; max-width: none; display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; }
.rn-areas > .d-mono { font-size: 11px; text-transform: uppercase; color: var(--d-mute); letter-spacing: .08em; }
.rn-areas ul { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 6px; }
.rn-areas li { padding: 5px 11px; border: 1px solid #E2E3DD; background: #fff; font-size: 13px; color: var(--d-ink); }
.rn-areas li.is-more { border-style: dashed; color: var(--d-mute); }
.rn-rv { margin-top: 56px; }
.rn-rv-h { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; padding-bottom: 16px; border-bottom: 2px solid var(--d-ink); }
.rn-rv-h h3 { margin: 0; font-size: clamp(24px, 2.4vw, 32px); font-weight: 600; letter-spacing: -.01em; }
.rn-rv-g { display: flex; align-items: center; gap: 10px; }
.rn-rv-stars { color: #E8A317; font-size: 18px; letter-spacing: 2px; }
.rn-rv-g .d-mono { font-size: 11px; text-transform: uppercase; color: var(--d-mute); letter-spacing: .08em; }
.rn-rv-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 24px; }
.rn-rv-c { margin: 0; position: relative; background: #fff; border: 1px solid #E2E3DD; border-top: 3px solid var(--d-lime); padding: 30px 30px 24px; display: flex; flex-direction: column; gap: 18px; }
.rn-rv-q { position: absolute; top: 4px; right: 22px; font-size: 84px; line-height: 1; color: var(--d-lime); font-family: Georgia, serif; opacity: .55; }
.rn-rv-c blockquote { margin: 0; padding: 0 40px 0 0; border: 0; font-size: 17px; line-height: 1.6; color: var(--d-ink); font-weight: 400; }
.rn-rv-c figcaption { margin-top: auto; padding-top: 16px; border-top: 1px dashed #D5D7D0; display: flex; flex-direction: column; gap: 4px; }
.rn-rv-c figcaption b { font-size: 15px; font-weight: 600; color: var(--d-ink); }
.rn-rv-c figcaption .d-mono { font-size: 11px; text-transform: uppercase; color: var(--d-mute); letter-spacing: .06em; }
@media (max-width: 900px) { .rn-rv-grid { grid-template-columns: 1fr; gap: 14px; } .rn-rv-c { padding: 24px 20px 20px; } .rn-rv { margin-top: 40px; } }

/* Το ταμπάκι «Ρυθμίσεις cookies» κάτω δεξιά κρύβεται· υπάρχει link στο footer */
#cmplz-manage-consent { display: none !important; }

/* Κατασκευή: στάδια με φωτογραφίες, ξεκάθαρες συμβουλές, λιγότερα νούμερα */
.bd .rn-cells li:last-child:nth-child(4n+1) { grid-column: span 4; }
.bd .rn-cells li:last-child:nth-child(4n+2) { grid-column: span 3; }
.bd .rn-cells li:last-child:nth-child(4n+3) { grid-column: span 2; }
.bd .rn-toc ol { list-style: none; }
.bd-phases { display: flex; flex-direction: column; gap: 40px; background: none; border: 0; }
.bd-ph { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); background: #fff; border: 1px solid #E2E3DD; }
.bd-ph.is-alt { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
.bd-ph.is-alt .bd-ph-media { order: 2; }
.bd-ph-media { position: relative; min-height: 360px; background: #2B3A32; overflow: hidden; }
.bd-ph-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.bd-ph-badge { position: absolute; left: 0; top: 0; background: var(--d-lime); color: var(--d-ink); font-weight: 700; font-size: 15px; padding: 12px 18px; letter-spacing: .02em; }
.bd-ph-body { padding: clamp(24px, 3vw, 44px); display: flex; flex-direction: column; gap: 14px; }
.bd-ph-k { font-size: 12px; text-transform: uppercase; letter-spacing: .1em; color: var(--d-green); font-weight: 600; }
.bd-ph-body h3 { margin: 0; font-size: clamp(26px, 2.6vw, 36px); font-weight: 600; line-height: 1.1; letter-spacing: -.015em; }
.bd-ph-intro { margin: 0; font-size: 17px; line-height: 1.6; color: var(--d-body); }
.bd-ph-steps { list-style: none; margin: 6px 0 0; padding: 0; display: flex; flex-direction: column; }
.bd-ph-steps li { margin: 0; padding: 14px 0 14px 26px; border-top: 1px solid #ECEDE8; position: relative; display: flex; flex-direction: column; gap: 4px; }
.bd-ph-steps li::before { content: ""; position: absolute; left: 0; top: 21px; width: 12px; height: 2px; background: var(--d-lime); }
.bd-ph-steps b { font-size: 17px; font-weight: 600; color: var(--d-ink); }
.bd-ph-steps span { font-size: 15px; line-height: 1.55; color: var(--d-body); }
.bd-ph-gal { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.bd-ph-gal img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.bd-ph-tips { margin-top: 6px; background: var(--d-ink); color: #fff; padding: 20px 22px; display: flex; flex-direction: column; gap: 10px; }
.bd-ph-tips-h { display: flex; align-items: center; gap: 10px; color: var(--d-lime); font-weight: 600; font-size: 14px; text-transform: uppercase; letter-spacing: .06em; }
.bd-ph-tips p { margin: 0; font-size: 16px; line-height: 1.6; color: #E4E6E0; padding-left: 32px; position: relative; }
.bd-ph-tips p::before { content: "→"; position: absolute; left: 6px; color: var(--d-lime); }
.bd-photos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 220px; gap: 10px; }
.bd-photos figure { margin: 0; overflow: hidden; background: #E7E8E3; }
.bd-photos figure.is-big { grid-column: span 2; grid-row: span 2; }
.bd-photos img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease; }
.bd-photos figure:hover img { transform: scale(1.04); }
@media (max-width: 960px) {
	.bd .rn-cells li:last-child { grid-column: auto; }
	.bd-ph, .bd-ph.is-alt { grid-template-columns: minmax(0, 1fr); }
	.bd-ph.is-alt .bd-ph-media { order: 0; }
	.bd-ph-media { min-height: 0; aspect-ratio: 16 / 9; }
	.bd-photos { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 160px; }
	.bd-ph-gal { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.bd-band { margin-top: 72px; height: clamp(260px, 34vw, 480px); overflow: hidden; background: #E7E8E3; }
.bd-band img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bd-band.is-two { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; background: none; }
@media (max-width: 960px) { .bd-band { margin-top: 40px; height: 240px; } .bd-band.is-two { grid-template-columns: 1fr; height: auto; } .bd-band.is-two img { height: 220px; } }

/* Σύγκριση πακέτων: όλη η κάρτα οδηγεί στο πακέτο */
a.bpk-card { text-decoration: none !important; color: var(--e-ink); transition: transform .2s ease, box-shadow .2s ease; }
a.bpk-card.is-pick { color: var(--bp-text); }
a.bpk-card:hover, a.bpk-card:focus-visible { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(20,22,25,.14); }
.bpk-card > span { display: block; }
.bpk-card .bpk-card-h { margin: 0; font-size: clamp(28px, 2.6vw, 38px); font-weight: 600; letter-spacing: -.02em; line-height: 1; }
.bpk-card .bpk-price { display: flex; margin: 4px 0 0; }
.bpk-card .bpk-card-cta { margin-top: 14px; display: flex !important; justify-content: space-between; align-items: center; gap: 12px; padding: 16px 20px; background: var(--e-ink, #141619); color: #fff; font-size: 15px; font-weight: 600; }
.bpk-card.is-pick .bpk-card-cta { background: var(--bp-lime); color: #141619; }
.bpk-card-cta i { font-style: normal; transition: transform .2s ease; }
a.bpk-card:hover .bpk-card-cta i { transform: translateX(5px); }
@media (max-width: 900px) { a.bpk-card:hover { transform: none; } }

.bpk-top .bpk-band { margin: 0 0 clamp(32px, 4vw, 56px); }
.bpk-endpics { padding: 0 var(--bp-pad) clamp(64px, 8vw, 110px); background: #fff; }
.bpk-endpics .bd-band { margin-top: 0; }

.pj-row-3 { grid-template-columns: 1fr 1fr 1fr; }
@media (max-width: 780px) { .pj-row-3 { grid-template-columns: 1fr; } }

/* ---------- Χωρίς WPBakery (inc-novc.php) ---------- */
.m-novc-row { display: flex; flex-wrap: wrap; gap: 24px 0; margin: 0 -12px; }
.m-novc-col { flex: 0 0 var(--w, 100%); max-width: var(--w, 100%); padding: 0 12px; box-sizing: border-box; }
.m-novc-col img { max-width: 100%; height: auto; display: block; }
@media (max-width: 780px) { .m-novc-col { flex-basis: 100%; max-width: 100%; } }
.m-novc-li h5 { margin: 0 0 6px; font-size: 1.05em; }
.m-cta-btn { text-align: center; margin: 2.2em 0 !important; max-width: none !important; }
.m-cta-btn a { display: inline-block; background: #000; color: #81d742; border: 1px solid #fff; padding: 18px 34px; font-weight: 700; font-size: clamp(20px, 2.6vw, 30px); line-height: 1.1; text-decoration: none; letter-spacing: .02em; }
.m-cta-btn a:hover { color: #fff; }
.m-infobox { border: 1px solid #d9d9d4; border-top: 4px solid var(--m-green); padding: 22px 26px; margin: 1.8em 0; max-width: 760px; }
.m-infobox h3 { margin: 0 0 4px; }
.m-infobox-sub { color: #666; margin: 0 0 12px !important; font-size: .95em; }
.m-infobox p { margin: .5em 0; }
.m-scale { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 1.8em 0; max-width: 760px; }
.m-scale-i { background: #f4f4f1; border-top: 6px solid var(--c, #1a1a1a); padding: 18px 16px; text-align: center; }
.m-scale-i b { display: block; font-size: 1.6em; line-height: 1.1; margin-bottom: 8px; }
.m-scale-i span { display: block; font-weight: 600; font-size: .95em; }
@media (max-width: 640px) { .m-scale { grid-template-columns: 1fr 1fr; } }

/* 5.7.4 — κενό κάτω από «Όλα τα έργα» στην αρχική · ευδιάκριτη επιβεβαίωση φόρμας */
.bp-projects { padding-bottom: clamp(48px, 5vw, 80px) !important; }
.rn-done { border-left: 4px solid var(--bp-lime) !important; padding: 20px 22px !important; }
.rn-done b { font-size: 22px !important; font-weight: 700; color: var(--e-ink); }
.wpforms-confirmation-container-full, div[submit-success] > .wpforms-confirmation-container-full:not(.wpforms-redirection-message) { background: rgba(140,198,63,.18) !important; border: 0 !important; border-left: 4px solid var(--bp-lime) !important; border-radius: 0 !important; padding: 20px 22px !important; color: var(--e-ink) !important; font-size: 16px; line-height: 1.55; }
.wpforms-confirmation-container-full p { margin: 0 0 6px !important; }
.wpforms-confirmation-container-full .mecha-ok-h { font-size: 22px !important; font-weight: 700 !important; margin-bottom: 8px !important; }
