/*
 * Fab Interni Homepage — front-end.
 * Μετρήσεις από το Figma: desktop 1920 (frame 62:1588), κινητό 400 (frame 2033:2590).
 * Κενό μεταξύ ενοτήτων 80 / 55, περιθώρια 60 / 18. Χρώματα και γραμματοσειρές από το redesign (body.fab-rd).
 */

body.fab-ih-home {
	--ih-gap: 80px;
	--ih-pad: 60px;
	--ih-col-gap: 30px;
}

@media (max-width: 768px) {
	body.fab-ih-home {
		--ih-gap: 55px;
		--ih-pad: 18px;
		--ih-col-gap: 18px;
	}
}

.ih-home {
	padding-bottom: var(--ih-gap);
	overflow: hidden;
	background: var(--rd-bg, #f9f8f6);
	color: var(--rd-ink, #1e1e1e);
}

.ih-home .ih-section {
	/* Κάθε ενότητα σε δικό της επίπεδο: τίποτα μέσα της (σημεία «+», κείμενα) δεν περνά πάνω από τον header */
	position: relative;
	isolation: isolate;
}

.ih-home .ih-section + .ih-section {
	margin-top: var(--ih-gap);
}

/* Banner αμέσως πριν από carousel: λίγο μικρότερο κενό από τις υπόλοιπες ενότητες */
.ih-home .ih-banner + .ih-carousel {
	margin-top: 60px;
}

@media (max-width: 768px) {
	.ih-home .ih-banner + .ih-carousel {
		margin-top: 40px;
	}
}

.ih-home h2,
.ih-home p {
	margin: 0;
	padding: 0;
	color: inherit;
}

.ih-preview-badge {
	position: fixed;
	top: 12px;
	right: 12px;
	z-index: 100000;
	padding: 8px 12px;
	background: #1e1e1e;
	color: #fff;
	font: 600 12px/1 sans-serif;
	letter-spacing: 0.04em;
}

/* Header (Fab Interni NavMenu): ίδια θέση με την ενότητα «Interni Menu 2026» της σελίδας Divi */
.ih-navmenu {
	position: relative;
	z-index: 9999999999;
	margin-top: -104px;
}

/* ---------- Τυπογραφία ---------- */

.ih-home .ih-h2,
.ih-home .ih-hero__title,
.ih-home .ih-shop__title,
.ih-home .ih-h3 {
	font-family: var(--rd-font);
	font-weight: 400;
	letter-spacing: 0;
}

.ih-home .ih-hero__title {
	font-size: 42px;
	line-height: 53px;
}

.ih-home .ih-h2 {
	font-size: 40px;
	line-height: 1.25;
}

.ih-home .ih-h3 {
	font-size: 36px;
	line-height: 48px;
}

.ih-home .ih-shop__title {
	font-size: 42px;
	line-height: 58px;
}

.ih-home .ih-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--rd-font);
	font-size: 18px;
	font-style: italic;
	line-height: 25px;
	color: inherit;
	text-decoration: none;
}

.ih-home .ih-link span {
	font-style: normal;
	transition: transform 0.2s ease;
}

.ih-home .ih-link:hover span {
	transform: translateX(4px);
}

/* ---------- Μέσα (εικόνα / βίντεο) ---------- */

.ih-media {
	position: absolute;
	inset: 0;
	overflow: hidden;
	background: var(--rd-surface, #f1f0ee);
}

.ih-media picture,
.ih-media__img,
.ih-media__video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.ih-media__img,
.ih-media__video {
	object-fit: cover;
}

.ih-media__video {
	opacity: 0;
	transition: opacity 0.6s ease;
}

.ih-media__video.is-playing {
	opacity: 1;
}

/* Κείμενο πάνω σε εικόνα: κάτω αριστερά */
.ih-overlay {
	position: absolute;
	left: var(--ih-pad);
	right: var(--ih-pad);
	bottom: 52px;
	z-index: 2;
	max-width: 640px;
	pointer-events: none;
}

.ih-overlay a {
	pointer-events: auto;
}

.ih-tone--light .ih-overlay {
	color: #fff;
}

.ih-tone--dark .ih-overlay {
	color: var(--rd-ink, #1e1e1e);
}

.ih-cover-link {
	position: absolute;
	inset: 0;
	z-index: 1;
}

/* ---------- Hero ---------- */

.ih-hero {
	position: relative;
}

.ih-hero__slide {
	position: relative;
	aspect-ratio: 1920 / 848;
	min-height: 520px;
	max-height: calc(100vh - 95px);
	width: 100%;
}

.ih-hero__text {
	max-width: 504px;
	margin-top: 22px !important;
	font-family: var(--rd-font-book);
	font-size: 18px;
	line-height: 25px;
}

.ih-hero .ih-link {
	margin-top: 22px;
}

.ih-hero__pagination {
	position: absolute;
	right: var(--ih-pad);
	bottom: 56px !important;
	left: auto !important;
	z-index: 3;
	width: auto !important;
}

.ih-hero__pagination .swiper-pagination-bullet {
	width: 8px;
	height: 8px;
	background: #fff;
	opacity: 0.5;
}

.ih-hero__pagination .swiper-pagination-bullet-active {
	opacity: 1;
}

/* ---------- Ράγες (carousels) ---------- */

.ih-rail {
	overflow: visible;
}

.ih-rail .swiper-wrapper {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ih-rail .swiper-slide {
	height: auto;
	margin: 0;
	padding: 0;
}

.ih-arrows {
	display: flex;
	gap: 21px;
}

.ih-arrow {
	display: block;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--rd-ink, #1e1e1e);
	cursor: pointer;
}

.ih-arrow--prev svg {
	transform: scaleX(-1);
}

.ih-arrow.swiper-button-disabled {
	opacity: 0.3;
	cursor: default;
}

.ih-arrow.swiper-button-lock {
	display: none;
}

/* ---------- Πλακίδια κατηγοριών ---------- */

.ih-tiles {
	padding-left: var(--ih-pad);
}

.ih-tiles__title {
	margin-bottom: 32px !important;
}

.ih-tile {
	width: 493px;
}

.ih-tile a {
	display: block;
	color: var(--rd-ink, #1e1e1e);
	text-decoration: none;
}

.ih-tile__img {
	display: block;
	aspect-ratio: 493 / 600;
	overflow: hidden;
	background: var(--rd-surface, #f1f0ee);
}

.ih-tile__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s ease;
}

.ih-tile a:hover .ih-tile__img img {
	transform: scale(1.02);
}

.ih-tile__label {
	display: inline-block;
	margin-top: 14px;
	font-family: var(--rd-font);
	font-size: 24px;
	line-height: 32px;
	text-underline-offset: 4px;
	text-decoration-thickness: 1px;
}

.ih-tile a:hover .ih-tile__label {
	text-decoration: underline;
}

/* ---------- Banner ---------- */

.ih-banner {
	position: relative;
	aspect-ratio: 1920 / 950;
	min-height: 480px;
	max-height: 100vh;
}

.ih-banner .ih-overlay {
	bottom: 65px;
	max-width: 760px;
}

.ih-banner .ih-link {
	margin-top: 18px;
}

/* ---------- Carousel προϊόντων («Discover the products») ---------- */

/* Ο τίτλος μπαίνει πάνω από τα προϊόντα (παρατήρηση ομάδας 9/10: στη στήλη αριστερά έτρωγε χώρο από τις κάρτες) */
.ih-carousel {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 24px;
	padding-left: var(--ih-pad);
}

.ih-carousel__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	padding-right: var(--ih-pad);
}

/* Χωρίς αυτό το carousel «φουσκώνει» στο πλάτος όλων των καρτών και το Swiper κλειδώνει (χωρίς βελάκια/κύλιση) */
.ih-carousel > .ih-rail {
	width: 100%;
	min-width: 0;
	overflow: hidden;
}

.ih-carousel__item {
	width: 428px;
}

/* ---------- Νέες αφίξεις ---------- */

.ih-arrivals__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 var(--ih-pad);
	margin-bottom: 30px;
}

.ih-arrivals .ih-rail {
	margin-left: var(--ih-pad);
}

.ih-arrivals__item {
	width: 580px;
}

.ih-arrivals__more {
	margin: 12px 0 0 var(--ih-pad);
}

/* ---------- Shoppable ---------- */

.ih-shop {
	display: grid;
	grid-template-columns: 65.1% minmax(0, 1fr);
	gap: var(--ih-col-gap);
	align-items: center;
	padding: 43px var(--ih-pad) 43px 0;
	background: var(--rd-surface, #f1f0ee);
}

.ih-shop--image-right {
	grid-template-columns: minmax(0, 1fr) 65.1%;
	padding: 43px 0 43px var(--ih-pad);
}

.ih-shop--image-right .ih-shop__visual {
	order: 2;
}

.ih-shop__visual {
	position: relative;
	/* aspect-ratio: η αναλογία της φωτογραφίας (inline), ώστε τα σημεία «+» να πέφτουν σωστά */
	align-self: center;
}

.ih-shop__body {
	margin-top: 24px !important;
	max-width: 646px;
	font-family: var(--rd-font-book);
	font-size: 16px;
	line-height: 24px;
}

.ih-shop .ih-link {
	margin-top: 28px;
}

.ih-spot {
	position: absolute;
	z-index: 3;
	transform: translate(-50%, -50%);
}

.ih-spot__btn {
	/* Figma (2020:1325): λευκός γεμάτος κύκλος χωρίς περίγραμμα, σκούρο «+» */
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #fff;
	color: var(--rd-ink, #1e1e1e);
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
	cursor: pointer;
	transition: transform 0.2s ease;
}

@media (max-width: 768px) {
	.ih-spot__btn {
		width: 26px;
		height: 26px;
	}
}

.ih-spot__btn:hover,
.ih-spot.is-open .ih-spot__btn {
	transform: scale(1.12);
}

.ih-spot__pop {
	position: absolute;
	left: 50%;
	bottom: calc(100% + 10px);
	display: none;
	width: 140px;
	padding: 8px;
	background: #fff;
	color: var(--rd-ink, #1e1e1e);
	font-family: var(--rd-font);
	font-size: 11px;
	line-height: 15px;
	text-decoration: none;
	box-shadow: 0 6px 24px rgba(0, 0, 0, 0.08);
	transform: translateX(-50%);
}

.ih-spot.is-open .ih-spot__pop,
.ih-spot:focus-within .ih-spot__pop {
	display: block;
}

@media (hover: hover) {
	.ih-spot:hover .ih-spot__pop {
		display: block;
	}
}

.ih-spot__img img {
	display: block;
	width: 100%;
	height: auto;
	margin-bottom: 6px;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	background: var(--rd-surface, #f1f0ee);
}

.ih-spot__name,
.ih-spot__price {
	display: block;
}

.ih-spot__price del {
	color: var(--rd-muted, #959595);
}

.ih-spot__price ins {
	text-decoration: none;
}

/* ---------- Οθόνες μεσαίου μεγέθους ---------- */

@media (max-width: 1440px) {
	.ih-home .ih-hero__title,
	.ih-home .ih-shop__title {
		font-size: 36px;
		line-height: 46px;
	}

	.ih-home .ih-h2 {
		font-size: 34px;
	}

	.ih-home .ih-h3 {
		font-size: 30px;
		line-height: 40px;
	}

	.ih-tile {
		width: 380px;
	}

	.ih-carousel__item {
		width: 340px;
	}

	.ih-arrivals__item {
		width: 460px;
	}
}

/* ---------- Κινητό (Figma 400) ---------- */

@media (max-width: 768px) {
	.ih-home .ih-hero__title {
		font-size: 26px;
		line-height: 32px;
	}

	.ih-home .ih-h2,
	.ih-home .ih-shop__title {
		font-size: 26px;
		line-height: 32px;
	}

	.ih-home .ih-h3 {
		font-size: 24px;
		line-height: 30px;
	}

	.ih-home .ih-link {
		font-size: 15px;
	}

	.ih-hero__slide {
		aspect-ratio: 400 / 730;
		min-height: 0;
		max-height: none;
	}

	.ih-overlay {
		bottom: 40px;
	}

	.ih-hero__text {
		margin-top: 14px !important;
		font-size: 14px;
		line-height: 20px;
	}

	.ih-hero .ih-link {
		margin-top: 14px;
	}

	.ih-tile {
		width: 269px;
	}

	.ih-tile__img {
		aspect-ratio: 269 / 270;
	}

	.ih-tile__label {
		margin-top: 8px;
		font-size: 16px;
		line-height: 22px;
	}

	.ih-banner {
		aspect-ratio: 400 / 722;
		min-height: 0;
		max-height: none;
	}

	.ih-banner .ih-overlay {
		bottom: 40px;
	}

	.ih-carousel {
		grid-template-columns: minmax(0, 1fr);
		gap: 14px;
	}

	.ih-carousel__item {
		width: 236px;
	}

	.ih-arrivals__head {
		margin-bottom: 14px;
	}

	.ih-arrivals__item {
		width: 300px;
	}

	.ih-arrows {
		gap: 10px;
	}

	.ih-arrow,
	.ih-arrow svg {
		width: 32px;
		height: 32px;
	}

	.ih-shop,
	.ih-shop--image-right {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
		padding: 0 0 40px;
	}

	.ih-shop--image-right .ih-shop__visual {
		order: 0;
	}


	.ih-shop__text {
		padding: 0 var(--ih-pad);
	}

	.ih-shop__body {
		margin-top: 14px !important;
		font-size: 14px;
		line-height: 21px;
	}
}
