/* Siorokos Effects 1.0.0 — εφέ πάνω στην υπάρχουσα σήμανση του θέματος */
:root {
	--ssfx-gold: #9a8a36;
	--ssfx-gold-soft: rgba(154, 138, 54, .28);
	--ssfx-gold-light: #cdbd78;
	--ssfx-ease: cubic-bezier(.2, .7, .2, 1);
}

/* 1. Hero: χρυσολαδί λάμψη + υφή grain */
.ss-hero {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}
.ss-hero::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: -35%;
	right: -15%;
	width: min(900px, 120vw);
	aspect-ratio: 1;
	border-radius: 50%;
	background: radial-gradient(circle at 40% 40%, var(--ssfx-gold-soft), rgba(154, 138, 54, 0) 62%);
	animation: ssfx-glow 8s ease-in-out infinite;
	pointer-events: none;
}
.ss-hero::after {
	content: "";
	position: absolute;
	z-index: -1;
	inset: 0;
	opacity: .13;
	mix-blend-mode: multiply;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .3 0 0 0 0 .27 0 0 0 0 .15 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
	pointer-events: none;
}
@keyframes ssfx-glow {
	0%, 100% { opacity: .6; transform: scale(1); }
	50% { opacity: 1; transform: scale(1.05); }
}

/* Χρυσή γραμμή κάτω από το «μοναδικά» */
.ss-hero .quote em {
	position: relative;
	display: inline-block;
}
.ss-hero .quote em::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -3px;
	height: 2px;
	border-radius: 2px;
	background: var(--ssfx-gold);
	transform-origin: left;
	animation: ssfx-draw 1.3s .9s cubic-bezier(.6, 0, .2, 1) both;
}
@keyframes ssfx-draw {
	from { transform: scaleX(0); }
	to { transform: scaleX(1); }
}

/* 2. Αριθμοί εμπιστοσύνης (στη σκούρα λωρίδα) */
.ssfx-stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 28px;
	margin-top: 8px;
	padding: 36px 0 44px;
	border-top: 1px solid rgba(255, 255, 255, .12);
}
.ssfx-stat {
	padding: 0 24px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.ssfx-stat .ssfx-num {
	font-family: "Noto Serif Display", Georgia, serif;
	font-size: clamp(34px, 4vw, 48px);
	line-height: 1;
	color: var(--ssfx-gold-light);
	font-variant-numeric: tabular-nums;
}
.ssfx-stat .ssfx-lbl {
	font-size: 14px;
	line-height: 1.45;
	color: #d9d4c3;
}
@media (max-width: 860px) {
	.ssfx-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 20px; }
}

/* 3. Κάρτες υπηρεσιών: ανύψωση και χρυσό περίγραμμα */
.svc .card {
	transition: transform .4s var(--ssfx-ease), box-shadow .4s var(--ssfx-ease), border-color .4s;
	will-change: transform;
}
.svc .card .ico {
	transition: transform .4s var(--ssfx-ease), box-shadow .4s;
}
@media (hover: hover) {
	.svc .card:hover {
		transform: translateY(-6px);
		box-shadow: 0 20px 40px -20px rgba(70, 60, 20, .38);
		border-color: var(--ssfx-gold) !important;
	}
	.svc .card:hover .ico {
		transform: scale(1.08);
		box-shadow: 0 0 0 2px var(--ssfx-gold);
	}
}
.svc .card:focus-visible {
	outline: 2px solid var(--ssfx-gold);
	outline-offset: 3px;
}

/* 4. «Πώς δουλεύουμε»: γραμμή που ενώνει τα βήματα */
.ssfx-steps {
	position: relative;
}
.ssfx-steps::before,
.ssfx-steps::after {
	content: "";
	position: absolute;
	top: var(--ssfx-line-top, 26px);
	left: 8%;
	right: 8%;
	height: 2px;
	border-radius: 2px;
	background: rgba(154, 138, 54, .22);
	z-index: 0;
}
.ssfx-steps::after {
	background: var(--ssfx-gold);
	transform-origin: left;
	transform: scaleX(0);
	transition: transform 1.8s cubic-bezier(.6, 0, .2, 1) .2s;
}
.ssfx-steps.ssfx-in::after {
	transform: scaleX(1);
}
.ssfx-steps > * {
	position: relative;
	z-index: 1;
}
@media (max-width: 860px) {
	.ssfx-steps::before,
	.ssfx-steps::after { display: none; }
}

/* 5. Γκαλερί: αργό zoom */
.gal5 .gal-trigger {
	overflow: hidden;
}
.gal5 .gal-trigger img {
	transition: transform 1.2s var(--ssfx-ease);
	animation: ssfx-kb 18s ease-in-out infinite alternate;
}
.gal5 .gal-trigger:nth-child(2) img { animation-delay: -4s; }
.gal5 .gal-trigger:nth-child(3) img { animation-delay: -8s; }
.gal5 .gal-trigger:nth-child(4) img { animation-delay: -12s; }
.gal5 .gal-trigger:nth-child(5) img { animation-delay: -16s; }
@keyframes ssfx-kb {
	from { transform: scale(1); }
	to { transform: scale(1.07); }
}
@media (hover: hover) {
	.gal5 .gal-trigger:hover img {
		animation-play-state: paused;
		transform: scale(1.1);
	}
}

/* 6. Κυλιόμενη ταινία κριτικών */
.ssfx-reviews {
	position: relative;
	margin-top: 36px;
	overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}
.ssfx-track {
	display: flex;
	gap: 20px;
	width: max-content;
	animation: ssfx-marquee 55s linear infinite;
}
.ssfx-reviews:hover .ssfx-track,
.ssfx-reviews:focus-within .ssfx-track {
	animation-play-state: paused;
}
@keyframes ssfx-marquee {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}
.ssfx-review {
	margin: 0;
	width: 320px;
	flex-shrink: 0;
	box-sizing: border-box;
	padding: 24px;
	background: #fff;
	border: 1px solid #e6e0cb;
	border-radius: 18px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.ssfx-review .ssfx-stars {
	color: var(--ssfx-gold);
	letter-spacing: 3px;
	font-size: 15px;
}
.ssfx-review blockquote {
	margin: 0;
	padding: 0;
	border: 0;
	font-family: "Noto Serif Display", Georgia, serif;
	font-size: 18px;
	line-height: 1.45;
	color: #1f1d16;
	font-style: normal;
}
.ssfx-review figcaption {
	font-size: 13px;
	color: #5a5440;
}

/* 7. Εμφάνιση καθώς κατεβαίνει η σελίδα (ενεργό μόνο όταν τρέχει το script) */
.ssfx-js .ssfx-rv {
	opacity: 0;
	transform: translateY(22px);
	transition: opacity .9s var(--ssfx-ease), transform .9s var(--ssfx-ease);
}
.ssfx-js .ssfx-rv.ssfx-in {
	opacity: 1;
	transform: none;
}
.ssfx-js .svc .card.ssfx-rv.ssfx-in {
	transition: opacity .9s var(--ssfx-ease), transform .4s var(--ssfx-ease), box-shadow .4s, border-color .4s;
}

/* 8. Header: ημιδιάφανο με θόλωμα στο scroll */
header.ss-head {
	transition: background-color .35s, box-shadow .35s, -webkit-backdrop-filter .35s, backdrop-filter .35s;
}
header.ss-head.ssfx-scrolled {
	background-color: rgba(246, 243, 236, .84) !important;
	-webkit-backdrop-filter: saturate(1.2) blur(12px);
	backdrop-filter: saturate(1.2) blur(12px);
	box-shadow: 0 1px 0 rgba(31, 29, 22, .08), 0 10px 30px -22px rgba(31, 29, 22, .45);
}

/* 9. Footer: liquid glass */
.ssfx-foot {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}
.ssfx-foot::before {
	content: "";
	position: absolute;
	z-index: -1;
	inset: -30%;
	background:
		radial-gradient(28% 34% at 22% 30%, rgba(154, 138, 54, .55), transparent 70%),
		radial-gradient(24% 30% at 78% 62%, rgba(205, 189, 120, .35), transparent 70%),
		radial-gradient(30% 36% at 55% 105%, rgba(122, 108, 38, .45), transparent 70%);
	filter: blur(30px);
	animation: ssfx-drift 26s ease-in-out infinite alternate;
	pointer-events: none;
}
@keyframes ssfx-drift {
	0% { transform: translate3d(0, 0, 0) rotate(0deg); }
	50% { transform: translate3d(4%, -3%, 0) rotate(6deg); }
	100% { transform: translate3d(-3%, 2%, 0) rotate(-4deg); }
}
.ssfx-glass {
	position: relative;
	box-sizing: border-box;
	margin: 48px 0 32px;
	padding: 40px clamp(20px, 4vw, 48px);
	border-radius: 28px;
	background: linear-gradient(140deg, rgba(10, 9, 6, .55), rgba(28, 27, 24, .35) 50%, rgba(10, 9, 6, .6));
	-webkit-backdrop-filter: blur(24px) saturate(1.5);
	backdrop-filter: blur(24px) saturate(1.5);
	border: 1px solid rgba(205, 189, 120, .18);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, .14),
		inset 0 -1px 0 rgba(0, 0, 0, .5),
		inset 0 0 60px rgba(0, 0, 0, .35),
		0 30px 70px -30px rgba(0, 0, 0, .85);
}
.ssfx-glass::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: radial-gradient(520px circle at var(--ssfx-mx, 20%) var(--ssfx-my, 0%), rgba(205, 189, 120, .10), transparent 45%);
	pointer-events: none;
	transition: background .2s;
}
.ssfx-glass > * {
	position: relative;
	z-index: 1;
}

/* Εικονίδια Instagram / Facebook στο footer */
.ssfx-soc-row {
	display: flex !important;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}
.ssfx-soc-row > :not(.ssfx-soc-link) {
	flex-basis: 100%;
}
.ssfx-soc-link {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	line-height: 1;
	margin: 0 !important;
}
.ssfx-soc {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	flex-shrink: 0;
	border-radius: 50%;
	color: #e9e4d2;
	background: rgba(0, 0, 0, .3);
	border: 1px solid rgba(205, 189, 120, .25);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12);
	transition: background .3s, border-color .3s, color .3s, transform .3s var(--ssfx-ease);
}
.ssfx-soc svg {
	width: 17px !important;
	height: 17px !important;
	display: block;
}
.ssfx-soc-link:hover .ssfx-soc,
.ssfx-soc-link:focus-visible .ssfx-soc {
	background: var(--ssfx-gold);
	border-color: var(--ssfx-gold);
	color: #fff;
	transform: translateY(-2px);
}
.ssfx-sr {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Σεβασμός στη ρύθμιση «μείωση κίνησης» */
@media (prefers-reduced-motion: reduce) {
	.ss-hero::before,
	.ss-hero .quote em::after,
	.gal5 .gal-trigger img,
	.ssfx-track,
	.ssfx-foot::before { animation: none !important; }
	.ssfx-js .ssfx-rv { opacity: 1; transform: none; transition: none; }
	.ssfx-steps::after { transform: scaleX(1); transition: none; }
	.svc .card, .svc .card .ico, .gal5 .gal-trigger img { transition: none; }
	.ssfx-reviews { overflow-x: auto; }
}
