/* ==========================================================================
   Vouliagmeni.gr — Athenian Riviera 2026
   ========================================================================== */

:root {
	--ink: #181614;
	--ink-soft: #5c564e;
	--ink-muted: #8e867b;
	--aegean: #1b3a4b;       /* βαθύ μπλε θάλασσας — accents/links */
	--aegean-deep: #142c39;
	--sand: #8a7b63;
	--star: #22bff1;
	--bg: #faf7f2;           /* ζεστό «χαρτί» */
	--surface: #ffffff;
	--line: #e5dfd5;
	--radius: 2px;
	--radius-sm: 2px;
	--shadow-sm: 0 1px 2px rgba(24, 22, 20, 0.05), 0 4px 12px rgba(24, 22, 20, 0.04);
	--shadow-md: 0 4px 8px rgba(24, 22, 20, 0.06), 0 16px 32px rgba(24, 22, 20, 0.10);
	--font-serif: "Playfair Display", Georgia, serif; /* display/headings */
	--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--container: 1180px;
	--ease: cubic-bezier(0.22, 1, 0.36, 1);
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
	margin: 0;
	font-family: var(--font-sans);
	font-size: 16px;
	line-height: 1.65;
	color: var(--ink);
	background: var(--bg);
	-webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; display: block; }
a { color: var(--aegean); }

.container {
	max-width: var(--container);
	margin: 0 auto;
	padding: 0 1.25rem;
}

.screen-reader-text {
	position: absolute;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
}

:focus-visible {
	outline: 2px solid var(--aegean);
	outline-offset: 2px;
	border-radius: 4px;
}

/* --------------------------------------------------------------------------
   Header
   -------------------------------------------------------------------------- */

.site-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(250, 247, 242, 0.92);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border-bottom: 1px solid var(--line);
}


.site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
	min-height: 68px;
}

.site-title {
	font-family: var(--font-serif);
	font-size: 1.45rem;
	font-weight: 600;
	letter-spacing: 0.01em;
	text-decoration: none;
	color: var(--ink);
}

.site-title span { color: var(--sand); }


/* Custom logo (SVG) */
.site-branding .custom-logo-link { display: block; line-height: 0; }

.site-branding .custom-logo {
	height: 104px;
	width: auto;
	display: block;
	padding: 10px 0;
	transition: height 0.25s var(--ease);
}

/* Shrink στο scroll */
body.is-scrolled .site-branding .custom-logo { height: 60px; padding: 6px 0; }
body.is-scrolled .site-header__inner { min-height: 60px; }


.site-nav .menu {
	display: flex;
	align-items: center;
	gap: 1.15rem;
	list-style: none;
	margin: 0;
	padding: 0;
	flex-wrap: nowrap;
}

.site-nav .menu a,
.site-nav .menu button { white-space: nowrap; }

/* Ομάδα εικονιδίων (LinkedIn / Spotify / Search): κοντά μεταξύ τους, με διαχωριστικό από τα links */
.site-nav .menu > li:has(.social-link),
.site-nav .menu > li:has(.search-trigger) { margin-left: -1.05rem; }

.site-nav .menu > li.menu-icons-start {
	margin-left: 0;
	padding-left: 1.4rem;
	border-left: 1px solid var(--line);
}

.site-nav a {
	text-decoration: none;
	font-weight: 500;
	font-size: 0.88rem;
	color: var(--ink-soft);
	transition: color 0.2s var(--ease);
}

.site-nav a:hover { color: var(--aegean); }

.site-nav .menu > li { display: flex; align-items: center; }

.site-nav a,
.dropdown-trigger {
	font-family: var(--font-sans);
	text-transform: none;
	letter-spacing: 0;
	font-size: 0.88rem;
	font-weight: 500;
}

.nav-toggle { display: none; }

/* Social icons στο menu */
.social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px; height: 40px;
	border-radius: 50%;
	color: var(--ink-soft) !important;
	transition: color 0.2s var(--ease), background 0.2s var(--ease);
}

.social-link:hover { background: #f0f0ef; color: #0a66c2 !important; }
.social-link--spotify:hover { color: #1db954 !important; }
.social-link--whatsapp:hover { color: #25d366 !important; }

/* Mobile-only subtitle κάτω από το menu label */
.menu-sub { display: none; }

/* Spotify page */
.spotify-page { max-width: 1100px; padding-top: 2.5rem; padding-bottom: 5rem; }

.spotify-page__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(440px, 100%), 1fr));
	gap: 1.5rem;
}

.spotify-page__label {
	font-family: var(--font-sans);
	font-size: 1rem;
	font-weight: 700;
	margin: 0 0 0.6rem;
}

.spotify-page__title {
	font-family: var(--font-serif);
	font-weight: 500;
	font-size: clamp(2rem, 5vw, 3rem);
	margin: 0 0 0.4rem;
}

.spotify-page__title span { color: #1db954; }
.spotify-page__subtitle { color: var(--ink-soft); margin: 0 0 2rem; }

/* CTA: Προσθήκη Επιχείρησης */
.nav-cta {
	border: 1px solid var(--ink);
	color: var(--ink) !important;
	border-radius: 999px;
	padding: 0.5rem 1.1rem;
	transition: background 0.2s var(--ease), color 0.2s var(--ease);
}

.nav-cta:hover { background: var(--ink); color: #fff !important; }

/* Dropdown Κατηγορίες */
.has-dropdown { position: relative; }

.dropdown-trigger {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	cursor: pointer;
	border: 0;
	background: none;
	font-family: inherit;
	font-weight: 500;
	color: var(--ink-soft);
	padding: 0.5rem 0;
	transition: color 0.2s var(--ease);
}

.dropdown-trigger svg { transition: transform 0.25s var(--ease); }
.has-dropdown:hover .dropdown-trigger,
.has-dropdown.open .dropdown-trigger { color: var(--aegean); }
.has-dropdown:hover .dropdown-trigger svg,
.has-dropdown.open .dropdown-trigger svg { transform: rotate(180deg); }

.dropdown {
	position: absolute;
	top: calc(100% + 18px);
	left: 50%;
	transform: translateX(-50%) translateY(6px);
	min-width: 620px;
	background: var(--bg);
	border: 1px solid var(--ink);
	border-radius: 0;
	box-shadow: 0 24px 60px rgba(24, 22, 20, 0.16);
	padding: 1.5rem 1.75rem 1.6rem;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.25s var(--ease), transform 0.25s var(--ease), visibility 0.25s;
	z-index: 60;
}

.has-dropdown:hover .dropdown,
.has-dropdown:focus-within .dropdown,
.has-dropdown.open .dropdown {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(0);
}

.dropdown__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 2.5rem;
	max-height: 420px;
	overflow-y: auto;
}

.dropdown__item {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.65rem 0;
	border-bottom: 1px solid var(--line);
	text-decoration: none;
	transition: border-color 0.2s var(--ease);
}

.dropdown__item:hover { border-bottom-color: var(--dot); }

.dropdown__name {
	font-family: var(--font-serif);
	font-size: 1.05rem !important;
	font-weight: 600;
	color: var(--ink);
	text-transform: none;
	letter-spacing: -0.01em;
	transition: color 0.2s var(--ease);
}

.dropdown__item:hover .dropdown__name { color: var(--dot); }

.dropdown__count {
	font-family: var(--font-serif);
	font-style: italic;
	font-size: 0.85rem;
	font-weight: 400;
	color: var(--ink-muted);
	background: none;
	padding: 0;
	min-width: 0;
	text-align: right;
}

.dropdown__item:hover .dropdown__count { color: var(--ink); }

/* --------------------------------------------------------------------------
   Search overlay (από το header icon)
   -------------------------------------------------------------------------- */

.search-trigger {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px; height: 42px;
	cursor: pointer;
	border: 1px solid var(--line);
	border-radius: 50%;
	background: var(--surface);
	color: var(--ink);
	transition: background 0.2s var(--ease), border-color 0.2s var(--ease);
}

.search-trigger:hover { background: var(--ink); border-color: var(--ink); color: #fff; }

.search-overlay { position: fixed; inset: 0; z-index: 100; }

.search-overlay__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(10, 10, 12, 0.7);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

.search-overlay__panel {
	position: relative;
	max-width: 880px;
	margin: 7vh auto 0;
	max-height: 86vh;
	display: flex;
	flex-direction: column;
	padding: 0 1.25rem;
}

.search-overlay__bar {
	display: flex;
	align-items: center;
	gap: 0.9rem;
	background: #fff;
	border-radius: 999px;
	padding: 0.45rem 0.6rem 0.45rem 1.4rem;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
	color: var(--ink-soft);
}

.search-overlay__bar input {
	flex: 1;
	min-width: 0;
	border: 0;
	background: none;
	font: inherit;
	font-size: 1.1rem;
	color: var(--ink);
	padding: 0.7rem 0;
}

.search-overlay__bar input:focus { outline: none; }

.search-overlay__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px; height: 44px;
	cursor: pointer;
	border: 0;
	border-radius: 50%;
	background: #f0f0ef;
	color: var(--ink);
	transition: background 0.2s var(--ease);
}

.search-overlay__close:hover { background: var(--ink); color: #fff; }

.search-overlay__count {
	color: rgba(255, 255, 255, 0.75);
	font-size: 0.9rem;
	margin: 1.1rem 0 0.9rem;
	min-height: 1.2em;
}

.search-overlay__results {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	overflow-y: auto;
	padding: 4px 4px 2rem;
	max-width: 640px;
	margin: 0 auto;
	width: 100%;
}

.place-row {
	display: flex;
	align-items: center;
	gap: 0.9rem;
	background: #fff;
	border-radius: 14px;
	padding: 0.6rem 0.9rem 0.6rem 0.6rem;
	text-decoration: none;
	color: var(--ink);
	transition: transform 0.2s var(--ease), box-shadow 0.2s var(--ease);
}

.place-row:hover {
	transform: translateY(-1px);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
}

.place-row__thumb {
	flex-shrink: 0;
	width: 56px;
	height: 56px;
	border-radius: 10px;
	overflow: hidden;
	background: #ecece9;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #a5a5ab;
}

.place-row__thumb img { width: 100%; height: 100%; object-fit: cover; }

.place-row__body { flex: 1; min-width: 0; display: flex; flex-direction: column; }

.place-row__title {
	font-size: 0.98rem;
	font-weight: 600;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.place-row__meta { font-size: 0.82rem; color: var(--ink-soft); }
.place-row__arrow { color: var(--ink-muted); flex-shrink: 0; }

/* --------------------------------------------------------------------------
   Personas hero — "Για ποιον ψάχνεις;"
   -------------------------------------------------------------------------- */

.personas {
	position: relative;
	color: #fff;
	padding: 2.75rem 0 3.25rem;
	background:
		radial-gradient(1100px 500px at 85% -10%, rgba(255, 255, 255, 0.07), transparent 60%),
		radial-gradient(900px 600px at 10% 110%, rgba(255, 255, 255, 0.04), transparent 55%),
		linear-gradient(160deg, #142c39 0%, #1b3a4b 55%, #22485d 100%);
}

/* Full width — όχι container περιορισμός */
.personas .container {
	max-width: none;
	padding: 0 clamp(1.25rem, 3vw, 3rem);
}

.personas__title {
	margin: 0;
	text-align: center;
	font-family: var(--font-serif);
	font-weight: 500;
	font-size: clamp(1.8rem, 4.5vw, 2.8rem);
}

.personas__subtitle {
	margin: 0.5rem auto 2.25rem;
	text-align: center;
	max-width: 480px;
	color: rgba(255, 255, 255, 0.65);
	font-size: 0.98rem;
}

.personas__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(215px, 1fr));
	gap: 1rem;
}

.persona {
	position: relative;
	text-decoration: none;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.55rem;
	text-align: left;
	font-family: inherit;
	padding: 0.35rem 1.2rem 0.5rem;
	border-left: 1px solid rgba(255, 255, 255, 0.18);
	color: #fff;
	transition: border-color 0.3s var(--ease);
}

.persona:hover { border-left-color: rgba(255, 255, 255, 0.55); }

.persona.is-active {
	border-left: 2px solid var(--dot);
	padding-left: calc(1.2rem - 1px);
}

.persona__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	margin-bottom: 0.4rem;
}

/* Facepile: μικρές στρογγυλές φωτό από μαγαζιά του term */
.persona__faces { display: flex; }

.persona__face-wrap {
	position: relative;
	display: inline-flex;
	margin-left: -12px;
	transition: margin 0.3s var(--ease);
}

.persona__face-wrap:first-child { margin-left: 0; }
.persona:hover .persona__face-wrap { margin-left: -5px; }
.persona:hover .persona__face-wrap:first-child { margin-left: 0; }

.persona__face {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	object-fit: cover;
	border: 2px solid #1b3a4b;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
	transition: transform 0.25s var(--ease), border-color 0.25s var(--ease);
}

/* Tooltip με το όνομα του μαγαζιού στο hover του κυκλακίου */
.persona__face-wrap::after {
	content: attr(data-name);
	position: absolute;
	bottom: calc(100% + 8px);
	left: 50%;
	transform: translateX(-50%) translateY(3px);
	background: #fff;
	color: var(--ink);
	font-size: 0.72rem;
	font-weight: 600;
	line-height: 1.2;
	padding: 0.3rem 0.6rem;
	border-radius: 8px;
	white-space: nowrap;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.45);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.2s var(--ease), transform 0.2s var(--ease);
	z-index: 5;
}

.persona__face-wrap:hover::after {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(0);
}

.persona__face-wrap:hover .persona__face {
	transform: scale(1.18);
	border-color: #fff;
	z-index: 4;
}

.persona__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: rgba(255, 255, 255, 0.6);
	transition: color 0.3s var(--ease);
}

.persona:hover .persona__icon { color: #fff; }

.persona__name {
	font-weight: 700;
	font-size: 1.04rem;
	line-height: 1.3;
	letter-spacing: -0.01em;
}

.persona__count {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	font-size: 0.8rem;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.55);
	transition: color 0.3s var(--ease), gap 0.3s var(--ease);
}

.persona:hover .persona__count { color: #fff; gap: 0.45rem; }

/* Sponsored ένδειξη (πολύ μικρά γράμματα) */

.sponsored-tag {
	position: absolute;
	bottom: 0.7rem;
	left: 0.85rem;
	font-size: 0.58rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.95);
	background: rgba(10, 10, 12, 0.55);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	padding: 0.18rem 0.5rem;
	border-radius: 999px;
}

/* Featured row στην αρχική (1 γραμμή, οριζόντιο scroll) */

.featured-row {
	padding: 2.25rem 0 2.25rem max(1.25rem, calc((100vw - var(--container)) / 2));
}

.featured-row__head { padding-right: 1.25rem; margin-bottom: 1rem; }

.section-title--sm { font-size: 1.4rem; }

.featured-row__track {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: 280px;
	gap: 1.25rem;
	overflow-x: auto;
	padding: 4px 1.25rem 14px 4px;
	scroll-snap-type: x mandatory;
	scrollbar-width: thin;
}

.featured-row__track .place-card { scroll-snap-align: start; }

/* Sticky filter bar (κάτω από το hero, μένει ορατή στο scroll) */

.filter-bar {
	position: sticky;
	top: 60px;
	z-index: 30;
	background: rgba(250, 247, 242, 0.94);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border-bottom: 1px solid var(--line);
}

.filter-bar__inner {
	max-width: none;
	display: flex;
	gap: 0.5rem;
	overflow-x: auto;
	scrollbar-width: none;
	padding: 0.7rem max(1.25rem, calc((100vw - var(--container)) / 2));
}

.filter-bar__inner::-webkit-scrollbar { display: none; }

.chip {
	flex-shrink: 0;
	cursor: pointer;
	border: 1px solid var(--line);
	background: var(--surface);
	color: var(--ink-soft);
	font: inherit;
	font-size: 0.86rem;
	font-weight: 500;
	padding: 0.45rem 0.95rem;
	border-radius: 999px;
	white-space: nowrap;
	transition: background 0.2s var(--ease), border-color 0.2s var(--ease), color 0.2s var(--ease);
}

.chip:hover { border-color: var(--aegean); color: var(--aegean); }

.chip.is-active {
	background: var(--ink);
	border-color: var(--ink);
	color: #fff;
}

.chip__count {
	font-size: 0.74rem;
	opacity: 0.65;
	margin-left: 0.25rem;
}

/* --------------------------------------------------------------------------
   Places grid & cards
   -------------------------------------------------------------------------- */

.places-section { padding: 0; position: relative; }

/* Σε taxonomy/απλές σελίδες (χωρίς split layout) δώσε κάθετα κενά */
.places-section > .container { padding-top: 3rem; padding-bottom: 5rem; }

.places-section__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1.75rem;
}

.section-title {
	margin: 0;
	font-family: var(--font-serif);
	font-weight: 500;
	font-size: clamp(1.6rem, 3vw, 2.1rem);
	color: var(--ink);
}

.places-count {
	margin: 0;
	font-size: 0.92rem;
	color: var(--ink-soft);
}

.places-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
	gap: 1.5rem;
}

.places-grid--3 { grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); }

.places-grid.is-loading { opacity: 0.45; pointer-events: none; }
.places-grid { transition: opacity 0.25s var(--ease); }

.place-card {
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	overflow: hidden;
	box-shadow: var(--shadow-sm);
	transition: box-shadow 0.3s var(--ease), transform 0.3s var(--ease), border-color 0.3s var(--ease);
}

.place-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow-md);
	border-color: #d3dee5;
}

.place-card__link {
	display: block;
	text-decoration: none;
	color: inherit;
	cursor: pointer;
}

.place-card__media {
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: linear-gradient(135deg, #e8eef2, #d6e2e9);
}

.place-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s var(--ease);
}

.place-card:hover .place-card__img { transform: scale(1.05); }

.place-card__img--placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #9fb4c2;
}

.place-card__badge {
	position: absolute;
	top: 0.85rem;
	left: 0.85rem;
	background: rgba(255, 255, 255, 0.92);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	color: var(--ink);
	font-size: 0.74rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	padding: 0.32rem 0.7rem;
	border-radius: 999px;
	box-shadow: 0 2px 8px rgba(10, 37, 64, 0.12);
}

.place-card__rating {
	position: absolute;
	top: 0.85rem;
	right: 0.85rem;
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	background: rgba(250, 247, 242, 0.95);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	color: var(--ink);
	font-size: 0.8rem;
	font-weight: 600;
	padding: 0.32rem 0.65rem;
	border-radius: 999px;
}

.place-card__rating svg { color: var(--star); }

.place-card__body { padding: 1.1rem 1.2rem 1.25rem; }

.place-card__title {
	margin: 0 0 0.3rem;
	font-family: var(--font-serif);
	font-size: 1.3rem;
	font-weight: 600;
	letter-spacing: -0.01em;
	line-height: 1.25;
	color: var(--ink);
	transition: color 0.2s var(--ease);
}

.place-card:hover .place-card__title { color: var(--star); }

.place-card__meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0 0 0.8rem;
	font-size: 0.85rem;
	color: var(--ink-soft);
}

.place-card__price { color: var(--sand); font-weight: 600; }

.place-card__dot {
	width: 3px; height: 3px;
	border-radius: 50%;
	background: #b9c8d2;
}

.place-card__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin: 0;
}

.place-card__tag {
	font-size: 0.74rem;
	font-weight: 500;
	color: #3c3c43;
	background: #f0f0ef;
	border-radius: 999px;
	padding: 0.22rem 0.6rem;
}

.place-card__tag--more { background: #e6e6e4; color: var(--ink-soft); }

/* Split layout: λίστα αριστερά + sticky χάρτης δεξιά (spitogatos-style) */

.places-split {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 42%;
	gap: 0;
	align-items: start;
}

.places-split__list {
	padding: 2.5rem 2rem 4rem max(1.25rem, calc((100vw - var(--container)) / 2));
	min-width: 0;
}

.places-split__map {
	position: sticky;
	top: 118px; /* shrunk header 60px + filter bar */
	height: calc(100vh - 118px);
}

.places-map {
	height: 100%;
	width: 100%;
	z-index: 1;
}

.places-grid--split {
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 1.25rem;
}

.map-toggle { display: none; }

.vlgm-pin-wrap { background: none; border: none; }

.vlgm-pin {
	display: block;
	width: 30px;
	height: 30px;
	background: linear-gradient(135deg, #22485d, #142c39);
	border: 2px solid #faf7f2;
	border-radius: 50% 50% 50% 0;
	transform: rotate(-45deg);
	box-shadow: 0 3px 10px rgba(20, 44, 57, 0.4);
	transition: transform 0.2s var(--ease);
}

.vlgm-pin-wrap:hover .vlgm-pin { transform: rotate(-45deg) scale(1.12); }

.vlgm-pin-wrap.is-hovered .vlgm-pin {
	transform: rotate(-45deg) scale(1.35);
	background: linear-gradient(135deg, #22bff1, #119fd0);
	box-shadow: 0 4px 16px rgba(34, 191, 241, 0.5);
}

.vlgm-pin-wrap.is-hovered .vlgm-pin__dot { background: #fff; }

.vlgm-pin__dot {
	position: absolute;
	top: 50%; left: 50%;
	width: 8px; height: 8px;
	margin: -4px 0 0 -4px;
	background: #fff;
	border-radius: 50%;
}

.leaflet-popup-content-wrapper {
	border-radius: 14px;
	box-shadow: var(--shadow-md);
	padding: 0;
	overflow: hidden;
}

.leaflet-popup-content { margin: 0; width: 230px !important; }
.leaflet-popup-tip { box-shadow: var(--shadow-sm); }

.map-pop {
	display: block;
	text-decoration: none;
	color: var(--ink);
	font-family: var(--font-sans);
}

.map-pop__media { display: block; position: relative; }

.map-pop__img {
	width: 100%;
	height: 130px;
	object-fit: cover;
	display: block;
}

.map-pop__badge {
	position: absolute;
	top: 0.6rem;
	left: 0.6rem;
	background: rgba(255, 255, 255, 0.94);
	color: var(--ink);
	font-size: 0.66rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	padding: 0.22rem 0.55rem;
	border-radius: 999px;
}

.map-pop__body { display: block; padding: 0.75rem 0.95rem 0.85rem; }

.map-pop__title {
	display: block;
	font-family: var(--font-sans);
	font-weight: 700;
	font-size: 1rem;
	line-height: 1.3;
	margin-bottom: 0.25rem;
}

.map-pop__meta {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	font-size: 0.82rem;
	color: var(--ink-soft);
}

.map-pop__rating { color: #b07d28; font-weight: 700; }
.map-pop__count { color: var(--ink-muted); font-size: 0.76rem; }
.map-pop__price { font-weight: 600; color: var(--ink-soft); margin-left: auto; }

.map-pop__addr {
	display: block;
	font-size: 0.78rem;
	color: var(--ink-muted);
	margin-top: 0.25rem;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.map-pop__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.3rem;
	margin-top: 0.5rem;
}

.map-pop__tag {
	font-size: 0.68rem;
	font-weight: 500;
	color: #3c3c43;
	background: #f0f0ef;
	border-radius: 999px;
	padding: 0.16rem 0.5rem;
}

.map-pop__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	margin-top: 0.6rem;
	font-size: 0.8rem;
	font-weight: 700;
	color: var(--ink);
}

.map-pop:hover .map-pop__cta { text-decoration: underline; }

/* Promo card */

.promo-card {
	position: relative;
	min-height: 100%;
	display: flex;
}

.promo-card__tag { z-index: 2; bottom: auto; top: 0.7rem; left: auto; right: 0.85rem; }

.promo-card__link,
.promo-card__html {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 280px;
}

.promo-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.promo-card__html { overflow: hidden; }

.places-empty {
	text-align: center;
	padding: 3rem 0;
	color: var(--ink-soft);
}

.places-more { text-align: center; margin-top: 2.5rem; }

/* Infinite scroll: το κουμπί γίνεται αόρατο sentinel + spinner όσο φορτώνει */
.btn.is-sentinel {
	pointer-events: none;
	color: transparent;
	background: transparent;
	border-color: transparent;
	position: relative;
	min-height: 44px;
}

.places-grid.is-loading ~ .places-more .btn.is-sentinel::after {
	content: "";
	position: absolute;
	top: 50%; left: 50%;
	width: 22px; height: 22px;
	margin: -11px 0 0 -11px;
	border: 2.5px solid var(--line);
	border-top-color: var(--aegean);
	border-radius: 50%;
	animation: vlgm-spin 0.7s linear infinite;
}

@keyframes vlgm-spin { to { transform: rotate(360deg); } }

/* --------------------------------------------------------------------------
   Buttons
   -------------------------------------------------------------------------- */

.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	cursor: pointer;
	border-radius: 999px;
	padding: 0.8rem 1.8rem;
	font: inherit;
	font-weight: 600;
	font-size: 0.95rem;
	text-decoration: none;
	transition: background 0.2s var(--ease), color 0.2s var(--ease), border-color 0.2s var(--ease), filter 0.2s var(--ease);
}

.btn--primary {
	border: 0;
	color: #fff;
	background: linear-gradient(135deg, var(--aegean) 0%, var(--aegean-deep) 100%);
}

.btn--primary:hover { filter: brightness(1.12); }

.btn--ghost {
	border: 1px solid var(--ink);
	background: transparent;
	color: var(--ink);
}

.btn--ghost:hover { background: var(--ink); color: #fff; border-color: var(--ink); }

.btn[disabled] { opacity: 0.6; cursor: wait; }

/* --------------------------------------------------------------------------
   Single place
   -------------------------------------------------------------------------- */

.place { padding: 2rem 0 5rem; }

.breadcrumb {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	font-size: 0.85rem;
	color: var(--ink-soft);
	margin-bottom: 1.5rem;
}

.breadcrumb a { color: var(--ink-soft); text-decoration: none; }
.breadcrumb a:hover { color: var(--aegean); }
.breadcrumb [aria-current] { color: var(--ink); font-weight: 500; }

.place__header { margin-bottom: 1.75rem; }

.place__category {
	display: inline-block;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--sand);
	text-decoration: none;
	margin-bottom: 0.4rem;
}

.place__title {
	margin: 0 0 0.6rem;
	font-family: var(--font-serif);
	font-weight: 500;
	font-size: clamp(2rem, 5vw, 3.2rem);
	line-height: 1.1;
}

.place__meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin: 0;
	font-size: 0.95rem;
	color: var(--ink-soft);
}

.place__stars {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	color: var(--ink);
}

.place__stars svg { color: var(--star); }

.place__closed {
	color: #b3261e;
	font-weight: 600;
	background: #fdecea;
	padding: 0.2rem 0.7rem;
	border-radius: 999px;
	font-size: 0.82rem;
}

/* Gallery */

.place__gallery { margin-bottom: 2.5rem; }

.place__gallery.has-thumbs {
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 0.75rem;
}

.place__gallery-main { border-radius: var(--radius); overflow: hidden; }

.place__gallery-thumbs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.75rem;
}

.place__gallery-thumbs img { border-radius: var(--radius-sm); }

.place__gallery-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.place__gallery-main .place__gallery-img { aspect-ratio: 16 / 10; }
.place__gallery-thumbs .place__gallery-img { aspect-ratio: 4 / 3; }

/* Layout */

.place__layout {
	display: grid;
	grid-template-columns: 1fr 360px;
	gap: 2.5rem;
	align-items: start;
}

.place__section { margin-bottom: 2.5rem; }

.place__section-title {
	margin: 0 0 1rem;
	font-family: var(--font-serif);
	font-weight: 600;
	font-size: 1.45rem;
}

.place__summary {
	font-size: 1.08rem;
	color: var(--ink-soft);
	margin: 0;
}

.place__amenities {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 0.6rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.place__amenities li {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	font-size: 0.92rem;
	color: var(--ink-soft);
}

.place__amenities svg { color: var(--aegean); flex-shrink: 0; }

/* Reviews */

.reviews-toggle summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	cursor: pointer;
	list-style: none;
	padding: 1rem 1.25rem;
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	transition: border-color 0.2s var(--ease);
}

.reviews-toggle summary::-webkit-details-marker { display: none; }
.reviews-toggle summary:hover { border-color: #cfcfcc; }
.reviews-toggle summary .place__section-title { margin: 0; font-size: 1.25rem; }
.reviews-toggle__count { color: var(--ink-soft); font-size: 0.95rem; font-family: var(--font-sans); }
.reviews-toggle__chevron { color: var(--ink-soft); flex-shrink: 0; transition: transform 0.25s var(--ease); }
.reviews-toggle[open] summary { border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
.reviews-toggle[open] .reviews-toggle__chevron { transform: rotate(180deg); }
.reviews-toggle[open] .place__reviews { margin-top: 0.75rem; }

.place__reviews {
	display: grid;
	gap: 1rem;
}

.review {
	margin: 0;
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: 1.25rem 1.4rem;
}

.review__head {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.7rem;
	margin-bottom: 0.5rem;
}

.review__author { font-weight: 600; font-size: 0.95rem; }
.review__stars { display: inline-flex; gap: 1px; color: var(--star); }
.review__date { font-size: 0.82rem; color: var(--ink-soft); }

.review__text {
	margin: 0;
	font-size: 0.95rem;
	color: var(--ink-soft);
}

/* Website embed */

.place__site-embed {
	border-radius: var(--radius);
	overflow: hidden;
	border: 1px solid var(--line);
	box-shadow: var(--shadow-sm);
}

.place__site-embed iframe {
	display: block;
	width: 100%;
	height: 480px;
	border: 0;
}

.place__site-embed-link { margin: 0.5rem 0 0; font-size: 0.85rem; }

/* Sidebar */

.place__sidebar {
	position: sticky;
	top: 132px;
	display: grid;
	gap: 1.25rem;
}

.info-card {
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	box-shadow: var(--shadow-sm);
	padding: 1.5rem;
}

.info-card__title {
	margin: 0 0 1.1rem;
	font-family: var(--font-serif);
	font-size: 1.25rem;
	font-weight: 600;
}

.info-card__row {
	display: flex;
	align-items: flex-start;
	gap: 0.7rem;
	padding: 0.55rem 0;
	font-size: 0.93rem;
	color: var(--ink-soft);
}

.info-card__row svg { color: var(--aegean); flex-shrink: 0; margin-top: 2px; }
.info-card__row a { color: var(--ink); text-decoration: none; font-weight: 500; }
.info-card__row a:hover { color: var(--aegean); }

.info-card__hours { padding: 0.55rem 0; }

.info-card__hours summary {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	cursor: pointer;
	font-size: 0.93rem;
	font-weight: 500;
	color: var(--ink);
	list-style: none;
}

.info-card__hours summary::-webkit-details-marker { display: none; }
.info-card__hours summary svg { color: var(--aegean); }

.info-card__hours ul {
	list-style: none;
	margin: 0.7rem 0 0;
	padding: 0 0 0 1.7rem;
	font-size: 0.86rem;
	color: var(--ink-soft);
	display: grid;
	gap: 0.3rem;
}

.info-card__cta { width: 100%; margin-top: 1rem; }

.place__map {
	border-radius: var(--radius);
	overflow: hidden;
	border: 1px solid var(--line);
	box-shadow: var(--shadow-sm);
}

.place__map iframe {
	display: block;
	width: 100%;
	height: 260px;
	border: 0;
}

.place__related { margin-top: 3rem; }
.place__related .section-title { margin-bottom: 1.5rem; }

/* --------------------------------------------------------------------------
   Taxonomy archive
   -------------------------------------------------------------------------- */

.tax-hero {
	background: linear-gradient(160deg, #142c39 0%, #1b3a4b 60%, #22485d 100%);
	color: #fff;
	padding: 1.75rem 0 1.5rem;
}

.tax-hero .breadcrumb { margin-bottom: 0.6rem; font-size: 0.8rem; }
.tax-hero .places-count { font-size: 0.85rem; margin-top: 0.15rem; }

.tax-hero .breadcrumb,
.tax-hero .breadcrumb a { color: rgba(255, 255, 255, 0.7); }
.tax-hero .breadcrumb [aria-current] { color: #fff; }
.tax-hero .places-count { color: rgba(255, 255, 255, 0.75); }

.tax-hero__title {
	margin: 0;
	font-family: var(--font-serif);
	font-weight: 500;
	font-size: clamp(1.6rem, 3.5vw, 2.3rem);
}

.tax-hero__sub { color: #b9b9c0; font-style: italic; }

/* Pagination */

.pagination { margin-top: 2.5rem; text-align: center; }

.pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	padding: 0 0.6rem;
	margin: 0 0.15rem;
	border-radius: 999px;
	border: 1px solid var(--line);
	background: var(--surface);
	color: var(--ink);
	text-decoration: none;
	font-weight: 500;
	font-size: 0.92rem;
	transition: border-color 0.2s var(--ease), color 0.2s var(--ease);
}

.pagination .page-numbers:hover { border-color: var(--aegean); color: var(--aegean); }
.pagination .page-numbers.current { background: var(--ink); border-color: var(--ink); color: #fff; }

/* --------------------------------------------------------------------------
   Generic content / fallbacks
   -------------------------------------------------------------------------- */

.site-main { min-height: 60vh; }
body:not(.home) .site-main > .container { padding-top: 2.5rem; padding-bottom: 4rem; }

.entry-title { font-family: var(--font-serif); }

/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */

.site-footer {
	background: #f4f0e8;
	border-top: 1px solid var(--line);
	color: var(--ink-soft);
	padding: 4rem 0 2rem;
}

.footer-grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1fr 1fr;
	gap: 2rem;
	padding-bottom: 3rem;
}

.footer-brand {
	font-family: var(--font-serif);
	font-size: 1.7rem;
	font-weight: 600;
	color: var(--ink);
	text-decoration: none;
}

.footer-brand span { color: var(--ink-muted); }

.footer-tagline {
	margin: 0.9rem 0 1.4rem;
	font-size: 0.92rem;
	line-height: 1.7;
	color: var(--ink-soft);
	max-width: 320px;
}

.footer-social { display: flex; gap: 0.6rem; }

.footer-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px; height: 40px;
	border-radius: 50%;
	border: 1px solid var(--line);
	color: var(--ink-soft);
	transition: background 0.2s var(--ease), color 0.2s var(--ease), border-color 0.2s var(--ease);
}

.footer-social a:hover { background: var(--ink); border-color: var(--ink); color: #fff; }

.footer-col__title {
	margin: 0 0 1.1rem;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ink-muted);
}

.footer-col ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.55rem;
}

.footer-col ul a {
	color: var(--ink-soft);
	text-decoration: none;
	font-size: 0.92rem;
	transition: color 0.2s var(--ease), padding-left 0.2s var(--ease);
}

.footer-col ul a:hover { color: var(--ink); padding-left: 4px; }

.footer-cta {
	display: inline-block;
	margin-top: 1.3rem;
	padding: 0.6rem 1.3rem;
	border: 1px solid var(--ink);
	border-radius: 999px;
	color: var(--ink);
	text-decoration: none;
	font-size: 0.85rem;
	font-weight: 600;
	transition: background 0.2s var(--ease), color 0.2s var(--ease);
}

.footer-cta:hover { background: var(--ink); color: #fff; }

.footer-bottom {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding-top: 1.75rem;
	border-top: 1px solid var(--line);
}

.copyright { margin: 0; font-size: 0.82rem; color: var(--ink-muted); }

.made-by-line {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	margin: 0;
	font-size: 1rem;
	color: var(--ink-soft);
}

.made-by-line a {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
}

.made-by-line__logo { width: 18px; height: 18px; display: inline-block; }

.made-by-line svg { color: #22bff1; width: 18px; height: 18px; }

.made-by-line a {
	color: var(--ink);
	text-decoration: none;
	font-weight: 600;
}

.made-by-line a:hover { color: var(--star); }

@media (max-width: 900px) {
	.footer-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
	.footer-col--brand { grid-column: 1 / -1; }
}

@media (max-width: 540px) {
	.footer-grid { grid-template-columns: 1fr; }
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */

@media (max-width: 900px) {
	.places-split { grid-template-columns: 1fr; }
	.places-split__list { padding: 2rem 1.25rem 4rem; }

	.places-split__map {
		position: fixed;
		inset: 118px 0 0;
		height: auto;
		z-index: 40;
		visibility: hidden;
		opacity: 0;
		transition: opacity 0.25s var(--ease), visibility 0.25s;
	}

	.places-section.show-map .places-split__map {
		visibility: visible;
		opacity: 1;
	}

	.map-toggle {
		position: fixed;
		bottom: 1.4rem;
		left: 50%;
		transform: translateX(-50%);
		z-index: 45;
		display: inline-flex;
		align-items: center;
		gap: 0.5rem;
		cursor: pointer;
		border: 0;
		border-radius: 999px;
		padding: 0.75rem 1.5rem;
		font: inherit;
		font-weight: 600;
		font-size: 0.92rem;
		color: #fff;
		background: var(--ink);
		box-shadow: 0 6px 24px rgba(7, 28, 48, 0.4);
	}

	.place__layout { grid-template-columns: 1fr; }
	.place__sidebar { position: static; }
	.place__gallery.has-thumbs { grid-template-columns: 1fr; }
	.place__gallery-thumbs { grid-template-columns: repeat(4, 1fr); }
}

@media (max-width: 1080px) {
	.nav-toggle {
		display: inline-flex;
		align-items: center;
		cursor: pointer;
		border: 0;
		background: none;
		color: var(--ink);
		padding: 0.4rem;
	}


	.site-nav {
		display: none;
		position: absolute;
		top: 100%;
		left: 0; right: 0;
		background: var(--bg);
		border-bottom: 1px solid var(--ink);
		box-shadow: 0 28px 50px rgba(24, 22, 20, 0.18);
		padding: 0.75rem 1.4rem 1.6rem;
		max-height: calc(100vh - 80px);
		overflow-y: auto;
	}

	.site-nav.open { display: block; }

	.site-nav .menu { flex-direction: row; flex-wrap: wrap; align-items: stretch; gap: 0; }

	.site-nav .menu > li { display: block; width: 100%; border-bottom: 1px solid var(--line); }

	.site-nav .menu > li > a,
	.site-nav .menu > li > .dropdown-trigger {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		gap: .55rem;
		width: 100%;
		text-align: right;
		padding: 1rem 0.25rem;
		font-family: var(--font-serif);
		font-size: 1.25rem;
		font-weight: 600;
		letter-spacing: -0.01em;
		color: var(--ink) !important;
	}
	.site-nav .menu > li > a > .menu-ico,
	.site-nav .menu > li > .dropdown-trigger > .menu-ico { order: 2; }
	.site-nav .dropdown-trigger > svg:last-child { order: 3; }
	.site-nav .menu-temp { display: none; }

	/* Sub-label (mobile only) — μικρό βοηθητικό κείμενο κάτω από τον τίτλο */
	.site-nav .menu-label {
		display: inline-flex;
		flex-direction: column;
		align-items: flex-end;
		gap: .15rem;
		line-height: 1.2;
	}
	.site-nav .menu-sub {
		display: block;
		font-family: var(--font-sans);
		font-size: .72rem;
		font-weight: 400;
		color: var(--ink-soft);
		letter-spacing: 0;
	}

	/* Σειρά εικονιδίων: δίπλα-δίπλα, χωρίς serif/γραμμές */
	.site-nav .menu > li:has(.social-link),
	.site-nav .menu > li:has(.search-trigger) {
		display: inline-flex;
		width: auto;
		border-bottom: 0;
		margin: 1rem 0.7rem 0 0;
	}

	.site-nav .menu > li.menu-icons-start { border-left: 0; padding-left: 0; }

	.site-nav .social-link,
	.site-nav .search-trigger {
		width: 44px; height: 44px;
		padding: 0;
		justify-content: center;
		border: 1px solid var(--line);
		border-radius: 50%;
		font-size: 0;
	}

	/* Accordion: κλειστά by default, ανοίγουν με tap στον trigger */
	.site-nav .dropdown {
		position: static !important;
		transform: none !important;
		min-width: 0 !important;
		width: 100% !important;
		max-height: 0;
		overflow: hidden;
		padding: 0;
		border: 0;
		box-shadow: none;
		background: transparent;
		opacity: 1;
		visibility: visible;
		text-align: right;
		transition: max-height .3s var(--ease), padding .3s var(--ease);
	}
	.has-dropdown:hover .dropdown,
	.has-dropdown:focus-within .dropdown { max-height: 0; padding: 0; }
	.site-nav .has-dropdown.open .dropdown {
		max-height: 1500px;
		padding: 0 0 0.9rem;
	}

	/* Trigger = clickable accordion header, με rotating chevron */
	.dropdown-trigger { pointer-events: auto; }
	.dropdown-trigger svg { display: inline; transition: transform .25s var(--ease); }
	.has-dropdown.open .dropdown-trigger svg { transform: rotate(180deg); }

	.site-nav .dropdown__grid {
		display: block !important;
		grid-template-columns: none !important;
		column-gap: 0 !important;
		width: 100% !important;
		max-height: none !important;
		overflow: visible !important;
	}
	.site-nav .dropdown .dropdown__item,
	.site-nav .dropdown .dropdown__item--wide {
		display: block !important;
		width: 100% !important;
		text-align: right !important;
		padding: 0.55rem 0.25rem !important;
		grid-column: auto !important;
		justify-content: flex-end !important;
	}
	.site-nav .dropdown__name,
	.site-nav .dropdown__count {
		display: inline !important;
		text-align: right;
	}
	.site-nav .dropdown__count { margin-right: .55rem; }
	.site-nav .dropdown__item:last-child { border-bottom: 0; }
	.site-nav .dropdown__name { font-size: 0.98rem !important; font-weight: 500; }
}

@media (max-width: 640px) {
	/* Κινητό: 2 κάρτες ανά σειρά */
	.places-grid,
	.places-grid--split { grid-template-columns: repeat(2, 1fr); gap: 0.9rem; }

	.place-card__title { font-size: 1.05rem; }
	.place-card__meta { font-size: 0.78rem; gap: 0.35rem; }
	.place-card__tags { display: none; } /* στενές κάρτες — τα tags δεν χωράνε καθαρά */
	.place-card__badge { font-size: 0.6rem; padding: 0.25rem 0.5rem; }
	.place-card__rating { font-size: 0.72rem; padding: 0.25rem 0.5rem; }

	.place__gallery-thumbs { grid-template-columns: repeat(2, 1fr); }
	.site-nav .menu { gap: 1rem; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
	}
}

.tax-intro {
	max-width: 760px;
	margin-bottom: 2.25rem;
	color: var(--ink-soft);
	font-size: 1.02rem;
	line-height: 1.75;
}

.tax-hero__desc {
	margin: 0.5rem 0 0.75rem;
	max-width: 560px;
	color: rgba(255, 255, 255, 0.75);
	font-size: 1rem;
}

/* Playfair Display headings: editorial βάρος + σφιχτό letter-spacing */
.personas__title, .section-title, .place__title,
.tax-hero__title, .spotify-page__title, .info-card__title,
.place__section-title, .footer-brand {
	font-weight: 600;
	letter-spacing: -0.01em;
}

/* ==========================================================================
   Editorial flat restyle — βάσει reference (flat, borders, extrabold + τελεία)
   ========================================================================== */

:root {
	--radius: 2px;
	--radius-sm: 2px;
	--dot: #22bff1;
}

/* Τίτλοι: extrabold με κόκκινη τελεία (σήμα κατατεθέν) */
.section-title::after,
.personas__title::after,
.tax-hero__title::after,
.place__title::after,
.spotify-page__title::after {
	content: ".";
	color: var(--dot);
}

/* Κάρτες: flat, χωρίς σκιά, λεπτή γραμμή κάτω */
.place-card {
	background: transparent;
	border: none;
	border-bottom: 1px solid var(--line);
	border-radius: 0;
	box-shadow: none;
}

.place-card:hover {
	transform: none;
	box-shadow: none;
	border-bottom-color: var(--dot);
}

.place-card__media { border-radius: var(--radius); }
.place-card__body { padding: 0.9rem 0 1.1rem; }

.place-card__badge {
	border-radius: 0;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-size: 0.68rem;
}

.place-card__rating { border-radius: 0; }
.place-card__tag { border-radius: 0; }
.sponsored-tag { border-radius: 0; }

/* Κουμπιά: μαύρα, τετράγωνα, uppercase */
.btn,
.footer-cta,
.nav-cta {
	border-radius: 0;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 0.88rem;
}

.btn--primary { background: var(--ink); }
.btn--primary:hover { background: #3c4350; filter: none; }

/* Chips φίλτρων: editorial tabs με underline */
.chip {
	border-radius: 0;
	text-transform: uppercase;
	font-size: 0.78rem;
	letter-spacing: 0.06em;
	background: transparent;
	border: 0;
	border-bottom: 2px solid transparent;
	padding: 0.5rem 0.85rem 0.55rem;
}

.chip:hover { background: transparent; color: var(--ink); border-bottom-color: var(--line); }

.chip.is-active {
	background: transparent;
	color: var(--ink);
	font-weight: 600;
	border-bottom-color: var(--star);
}

.chip__count {
	font-family: var(--font-serif);
	font-style: italic;
	font-size: 0.78rem;
	letter-spacing: 0;
	text-transform: none;
}

/* Search */
.search-overlay__bar { border-radius: 0; }
.search-overlay__close { border-radius: 0; }
.place-row { border-radius: 0; }
.place-row__thumb { border-radius: 0; }

/* Panels / cards */
.info-card,
.review,
.place__map,
.place__site-embed,
.places-map,
.reviews-toggle summary,
.promo-card,
.dropdown { border-radius: var(--radius); }

.dropdown__item { border-radius: 0; }
.dropdown__count { border-radius: 0; }

/* Personas tiles: πιο flat */
.persona { border-radius: var(--radius); }
.persona__icon { border-radius: 0; }
.persona__face { border-radius: 50%; } /* τα κυκλάκια μένουν κύκλοι */

/* Featured row / pagination */
.pagination .page-numbers { border-radius: 0; }
.map-pop__badge { border-radius: 0; }
.map-pop__tag { border-radius: 0; }
.leaflet-popup-content-wrapper { border-radius: var(--radius); }

/* ==========================================================================
   Home hero — editorial (Playfair, αναζήτηση ως κύριο CTA)
   ========================================================================== */

.home-hero {
	padding: 4.5rem 0 4rem;
	border-bottom: 1px solid var(--line);
	background: var(--bg);
}

.home-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(380px, 1fr);
	gap: 3rem;
	align-items: center;
}

.home-hero__eyebrow {
	margin: 0 0 1rem;
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--ink-soft);
}

.home-hero__title {
	margin: 0;
	font-family: var(--font-serif);
	font-weight: 500;
	font-size: clamp(2.6rem, 5.2vw, 4.2rem);
	line-height: 1.05;
	letter-spacing: -0.02em;
	color: var(--ink);
}

.home-hero__title em {
	font-style: italic;
	color: var(--aegean);
}

.home-hero__dot { color: var(--dot); }

.home-hero__search {
	margin-top: 2.2rem;
	display: flex;
	align-items: stretch;
	max-width: 600px;
	background: var(--surface);
	border: 1px solid var(--ink);
}

.home-hero__search button svg {
	flex: none;
	display: block;
	margin: 0;
	color: #fff;
}

.home-hero__search input {
	flex: 1;
	min-width: 0;
	border: 0;
	background: none;
	font: inherit;
	font-size: 0.98rem;
	color: var(--ink);
	padding: 1.05rem 1rem;
}

.home-hero__search input:focus { outline: none; }

.home-hero__search button {
	flex: none;
	cursor: pointer;
	border: 0;
	background: var(--ink);
	color: #fff;
	font: inherit;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 0 1.8rem;
	transition: background 0.2s var(--ease);
}

.home-hero__search button:hover { background: var(--dot); }

.home-hero__lead {
	margin: 0;
	font-size: 0.95rem;
	color: var(--ink-soft);
}

.home-hero__stats {
	display: flex;
	gap: 2.25rem;
	margin-top: 1.2rem;
	padding-top: 1.2rem;
	border-top: 1px solid var(--line);
}

.home-hero__stat { display: flex; flex-direction: column; }

.home-hero__num {
	font-family: var(--font-serif);
	font-size: 1.9rem;
	font-weight: 600;
	line-height: 1;
	color: var(--ink);
}

.home-hero__lbl {
	margin-top: 0.35rem;
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ink-soft);
}

@media (max-width: 900px) {
	.home-hero { padding: 3rem 0 2.5rem; }
	.home-hero__grid { grid-template-columns: 1fr; gap: 2rem; }
}

/* Personas: τίτλος ορατός πάνω από τη συλλογή (αν προστεθεί) + serif counts */
.persona__count { font-variant-numeric: tabular-nums; }

/* Featured row τίτλος με serif */
.featured-row .section-title { font-family: var(--font-serif); }

/* ==========================================================================
   Home: κατάλογος κατηγοριών στο τέλος του feed (#vlgm-cats)
   ========================================================================== */

.home-cats { margin-top: 3.5rem; }

.home-cats__title {
	margin: 0 0 1.5rem;
	font-family: var(--font-serif);
	font-weight: 600;
	font-size: clamp(1.5rem, 2.6vw, 2rem);
	letter-spacing: -0.01em;
}

.home-cats__title em { font-style: italic; color: var(--aegean); }
.home-cats__dot { color: var(--dot); }

.home-cats__list { border-top: 1px solid var(--line); }

.home-cats__row {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr) auto 24px;
	align-items: center;
	gap: 1.25rem;
	padding: 1.1rem 0;
	border-bottom: 1px solid var(--line);
	text-decoration: none;
	transition: padding-left 0.25s var(--ease), border-color 0.25s var(--ease);
}

.home-cats__row:hover { padding-left: 10px; border-bottom-color: var(--dot); }

.home-cats__idx {
	font-family: var(--font-serif);
	font-style: italic;
	font-size: 0.95rem;
	color: var(--ink-muted);
}

.home-cats__name {
	font-family: var(--font-serif);
	font-size: clamp(1.2rem, 2vw, 1.55rem);
	font-weight: 600;
	letter-spacing: -0.01em;
	color: var(--ink);
	transition: color 0.2s var(--ease);
}

.home-cats__row:hover .home-cats__name { color: var(--dot); }

.home-cats__count {
	font-size: 0.8rem;
	letter-spacing: 0.05em;
	color: var(--ink-soft);
	white-space: nowrap;
}

.home-cats__arr {
	color: var(--ink-muted);
	transition: transform 0.25s var(--ease), color 0.25s var(--ease);
}

.home-cats__row:hover .home-cats__arr { transform: translateX(5px); color: var(--dot); }

/* Hero search: autocomplete panel μέσα στο κουτί */
.home-hero__search { position: relative; }

.home-hero__results[hidden] { display: none !important; }

.home-hero__results {
	position: absolute;
	top: 100%;
	left: -1px;
	right: -1px;
	z-index: 40;
	background: var(--surface);
	border: 1px solid var(--ink);
	border-top: 0;
	max-height: 380px;
	overflow-y: auto;
	padding: 0.4rem;
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	box-shadow: 0 24px 48px rgba(24, 22, 20, 0.14);
}

.home-hero__results .place-row:hover {
	transform: none;
	box-shadow: none;
	background: #f4f0e8;
}

.home-hero__noresults {
	margin: 0;
	padding: 0.9rem 1rem;
	font-size: 0.9rem;
	color: var(--ink-soft);
}

/* ==========================================================================
   Hero search v2 — pill, καθαρό, icon button
   ========================================================================== */

.home-hero__search {
	margin-top: 2rem;
	max-width: 440px;
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 999px;
	padding: 0.3rem 0.3rem 0.3rem 1.3rem;
	box-shadow: 0 2px 6px rgba(24, 22, 20, 0.05), 0 14px 34px rgba(24, 22, 20, 0.07);
	transition: border-color 0.2s var(--ease), box-shadow 0.2s var(--ease);
}

.home-hero__search:focus-within {
	border-color: var(--ink);
	box-shadow: 0 2px 6px rgba(24, 22, 20, 0.06), 0 18px 44px rgba(24, 22, 20, 0.11);
}

.home-hero__search input {
	padding: 0.75rem 0.6rem 0.75rem 0;
	font-size: 0.95rem;
}

.home-hero__search input::placeholder { color: var(--ink-muted); }

.home-hero__search button {
	width: 42px;
	height: 42px;
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border-radius: 50%;
	background: var(--ink);
	color: #fff;
	cursor: pointer;
	border: 0;
	transition: background 0.2s var(--ease), transform 0.2s var(--ease);
}

.home-hero__search button:hover { background: var(--dot); transform: scale(1.06); }

/* Panel αποτελεσμάτων κάτω από το pill */
.home-hero__results {
	top: calc(100% + 10px);
	left: 0;
	right: 0;
	border: 1px solid var(--line);
	border-radius: 16px;
	box-shadow: 0 28px 60px rgba(24, 22, 20, 0.16);
	padding: 0.45rem;
}

/* ==========================================================================
   Ανοιχτά τώρα (hero δεξιά)
   ========================================================================== */

.open-now__label {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0 0 0.9rem;
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ink-soft);
}

.open-now__pulse {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #1d9e55;
	box-shadow: 0 0 0 0 rgba(29, 158, 85, 0.45);
	animation: vlgm-pulse 2s ease-out infinite;
}

@keyframes vlgm-pulse {
	0% { box-shadow: 0 0 0 0 rgba(29, 158, 85, 0.45); }
	70% { box-shadow: 0 0 0 9px rgba(29, 158, 85, 0); }
	100% { box-shadow: 0 0 0 0 rgba(29, 158, 85, 0); }
}

.open-now__list {
	display: flex;
	flex-direction: column;
	border-top: 1px solid var(--line);
}

.open-now__row {
	display: flex;
	align-items: center;
	gap: 0.8rem;
	padding: 0.65rem 0;
	border-bottom: 1px solid var(--line);
	text-decoration: none;
	transition: border-color 0.2s var(--ease);
}

.open-now__row:hover { border-bottom-color: var(--dot); }

.open-now__thumb {
	width: 46px;
	height: 46px;
	border-radius: 50%;
	object-fit: cover;
	flex: none;
}

.open-now__body { min-width: 0; display: flex; flex-direction: column; }

.open-now__name {
	font-family: var(--font-serif);
	font-size: 1.02rem;
	font-weight: 600;
	color: var(--ink);
	line-height: 1.25;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	transition: color 0.2s var(--ease);
}

.open-now__row:hover .open-now__name { color: var(--dot); }

.open-now__meta { font-size: 0.78rem; color: var(--ink-soft); }
.open-now__star { color: var(--dot); font-weight: 600; }

.open-now__arr {
	margin-left: auto;
	flex: none;
	color: var(--ink-muted);
	transition: transform 0.2s var(--ease), color 0.2s var(--ease);
}

.open-now__row:hover .open-now__arr { transform: translateX(4px); color: var(--dot); }

/* ==========================================================================
   Back to top
   ========================================================================== */

.back-to-top {
	position: fixed;
	right: 1.4rem;
	bottom: 1.4rem;
	z-index: 45;
	width: 46px;
	height: 46px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	border: 1px solid var(--line);
	border-radius: 50%;
	background: var(--surface);
	color: var(--ink);
	box-shadow: 0 6px 24px rgba(24, 22, 20, 0.16);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity 0.25s var(--ease), transform 0.25s var(--ease), visibility 0.25s, background 0.2s var(--ease), color 0.2s var(--ease);
}

.back-to-top.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.back-to-top:hover { background: var(--ink); color: #fff; border-color: var(--ink); }

@media (max-width: 900px) {
	/* Να μην πέφτει πάνω στο κουμπί Χάρτης */
	.back-to-top { bottom: 1.3rem; right: 1rem; }
}

/* ==========================================================================
   Insider Vouliagmeni News
   ========================================================================== */

.insider {
	background: linear-gradient(160deg, #142c39 0%, #1b3a4b 60%, #22485d 100%);
	color: #f4f1ea;
	padding: 4rem 0;
}

.insider__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
	gap: 3rem;
	align-items: center;
}

@media (max-width: 900px) {
	.insider__grid { grid-template-columns: 1fr; gap: 1.75rem; }
}

.insider__eyebrow {
	margin: 0 0 0.8rem;
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #9fb6c1;
}

.insider__title {
	margin: 0;
	font-family: var(--font-serif);
	font-weight: 600;
	font-size: clamp(1.6rem, 3vw, 2.3rem);
	letter-spacing: -0.01em;
}

.insider__title em { font-style: italic; color: #c8a35f; }
.insider__dot { color: var(--dot); }

.insider__sub {
	margin: 0.7rem 0 0;
	font-size: 0.95rem;
	color: rgba(244, 241, 234, 0.7);
	max-width: 42ch;
}

.insider__hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }

.insider__fields {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.6rem;
}

.insider__fields input {
	border: 1px solid rgba(244, 241, 234, 0.25);
	background: rgba(255, 255, 255, 0.06);
	color: #fff;
	font: inherit;
	font-size: 0.92rem;
	padding: 0.8rem 1rem;
	border-radius: 2px;
	transition: border-color 0.2s var(--ease), background 0.2s var(--ease);
}

.insider__fields input::placeholder { color: rgba(244, 241, 234, 0.55); }

.insider__fields input:focus {
	outline: none;
	border-color: #fff;
	background: rgba(255, 255, 255, 0.1);
}

.insider__btn {
	cursor: pointer;
	border: 0;
	border-radius: 2px;
	background: #f4f1ea;
	color: var(--aegean-deep);
	font: inherit;
	font-size: 0.82rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 0.8rem 1rem;
	transition: background 0.2s var(--ease), color 0.2s var(--ease);
}

.insider__btn:hover { background: var(--dot); color: #fff; }
.insider__btn[disabled] { opacity: 0.6; cursor: wait; }

.insider__msg {
	margin: 0.7rem 0 0;
	min-height: 1.3em;
	font-size: 0.88rem;
	color: #9fe0b6;
}

.insider__msg.is-error { color: #ffb4b4; }

@media (max-width: 560px) {
	.insider__fields { grid-template-columns: 1fr; }
}

/* Sponsored κάρτα στο κινητό: ολόκληρη γραμμή */
@media (max-width: 640px) {
	.places-grid .promo-card,
	.places-grid--split .promo-card { grid-column: 1 / -1; }
	.promo-card__link, .promo-card__html { min-height: 240px; }
}

/* =============================================================================
 * Parnassos 360 — νέα components (περιοχές, καιρός, ιστορίες)
 * ========================================================================== */

/* Filter bar: δύο σειρές (Περιοχές πρώτα, μετά Κατηγορίες) */
.filter-bar__inner--locs { padding-bottom: 0.15rem; }
.filter-bar__inner--locs + .filter-bar__inner { padding-top: 0.25rem; }
.filter-bar__lbl {
	flex-shrink: 0;
	align-self: center;
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ink-muted);
	min-width: 72px;
}
.chip--loc.is-active { background: var(--star); border-color: var(--star); color: #fff; }
.chip--loc.is-active .chip__count { color: rgba(255, 255, 255, 0.8); }
.chip--loc:hover { border-color: var(--star); color: var(--star); }

/* Hero: συνθήκες βουνού */
.mtn-now__row { align-items: center; }
.mtn-now__icon {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border-radius: 12px;
	background: rgba(34, 191, 241, 0.12);
	color: var(--aegean);
}
.mtn-now__icon--sun { background: rgba(244, 180, 64, 0.16); color: #c98a12; }
.mtn-now__icon--snow { background: rgba(34, 191, 241, 0.16); color: #1190ba; }
.mtn-now__icon--rain, .mtn-now__icon--storm { background: rgba(27, 58, 75, 0.1); color: var(--aegean); }
.mtn-now__temp {
	font-family: var(--font-serif);
	font-size: 1.35rem;
	font-weight: 600;
	color: var(--ink);
	margin-left: auto;
}
.mtn-now__more {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	margin-top: 0.35rem;
	font-size: 0.84rem;
	font-weight: 600;
	color: var(--aegean);
	text-decoration: none;
}
.mtn-now__more:hover { color: var(--star); }

/* Σελίδα /synithikes/ */
.tax-hero__eyebrow {
	margin: 0 0 0.4rem;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.65);
}
.tax-hero__desc { margin: 0.5rem 0 0; color: rgba(255, 255, 255, 0.78); font-size: 0.95rem; max-width: 560px; }

.wx-now { padding: 2.25rem 1.25rem 0.5rem; }
.wx-now__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
	gap: 1rem;
	margin-top: 1.1rem;
}
.wx-card {
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 16px;
	padding: 1.25rem 1.35rem;
}
.wx-card__top { display: flex; align-items: center; justify-content: space-between; }
.wx-card__icon { color: var(--aegean); }
.wx--sun { color: #c98a12; }
.wx--snow { color: #1190ba; }
.wx-card__temp { font-family: var(--font-serif); font-size: 2.3rem; font-weight: 600; }
.wx-card__temp small { font-size: 1rem; color: var(--ink-muted); }
.wx-card__loc { margin: 0.7rem 0 0.15rem; font-size: 1rem; }
.wx-card__desc { margin: 0; color: var(--ink-soft); font-size: 0.88rem; }
.wx-card__details { display: flex; flex-wrap: wrap; gap: 0.8rem; margin-top: 0.8rem; }
.wx-card__detail {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	font-size: 0.8rem;
	color: var(--ink-soft);
}
.wx-meta { margin-top: 0.9rem; font-size: 0.78rem; color: var(--ink-muted); }

.wx-forecast { padding: 1.5rem 1.25rem 2.5rem; }
.wx-table-wrap { overflow-x: auto; margin-top: 1.1rem; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); }
.wx-table { border-collapse: collapse; width: 100%; min-width: 760px; }
.wx-table th, .wx-table td { padding: 0.7rem 0.55rem; text-align: center; border-bottom: 1px solid var(--line); }
.wx-table tbody tr:last-child th, .wx-table tbody tr:last-child td { border-bottom: 0; }
.wx-table thead th { font-size: 0.8rem; }
.wx-table__day { display: block; font-weight: 600; }
.wx-table__date { display: block; font-size: 0.72rem; color: var(--ink-muted); font-weight: 400; }
.wx-table__loc { text-align: left !important; font-size: 0.84rem; padding-left: 1rem !important; min-width: 130px; }
.wx-table .is-today { background: rgba(34, 191, 241, 0.07); }
.wx-table td.has-snow { background: rgba(34, 191, 241, 0.12); }
.wx-table__icon { display: block; margin-bottom: 0.2rem; }
.wx-table__temps b { font-size: 0.92rem; }
.wx-table__temps small { color: var(--ink-muted); margin-left: 0.2rem; }
.wx-table__precip { display: block; font-size: 0.72rem; color: var(--ink-muted); margin-top: 0.15rem; }
.wx-table__precip--snow { color: #1190ba; font-weight: 600; }
.wx-table__precip--rain { color: var(--aegean); }
.wx-table__wind { display: block; font-size: 0.68rem; color: var(--ink-muted); margin-top: 0.1rem; }

.wx-webcam { padding: 0 1.25rem 3rem; }
.wx-webcam__inner {
	display: grid;
	grid-template-columns: 1fr 1.2fr;
	gap: 1.5rem;
	align-items: center;
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 16px;
	padding: 1.5rem;
}
.wx-webcam__preview { position: relative; display: block; border-radius: 12px; overflow: hidden; }
.wx-webcam__preview img { display: block; width: 100%; height: auto; }
.wx-webcam__tag {
	position: absolute;
	top: 0.6rem;
	left: 0.6rem;
	background: var(--star);
	color: #fff;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	padding: 0.2rem 0.55rem;
	border-radius: 999px;
}
@media (max-width: 700px) {
	.wx-webcam__inner { grid-template-columns: 1fr; }
}

/* Σελίδα περιοχής (/periochi/...) */
.loc-facts { background: var(--aegean-deep); color: #fff; }
.loc-facts__grid { display: flex; flex-wrap: wrap; gap: 2.5rem; padding-top: 1rem; padding-bottom: 1rem; }
.loc-fact__value { display: block; font-family: var(--font-serif); font-size: 1.35rem; font-weight: 600; }
.loc-fact__label { display: block; font-size: 0.74rem; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(255, 255, 255, 0.6); }
.loc-bestfor { border-bottom: 1px solid var(--line); background: var(--surface); }
.loc-bestfor__inner { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; padding-top: 0.8rem; padding-bottom: 0.8rem; }
.loc-bestfor__label { font-size: 0.78rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink-muted); margin-right: 0.4rem; }
.loc-bestfor__tag {
	background: rgba(34, 191, 241, 0.1);
	color: var(--aegean);
	font-size: 0.82rem;
	font-weight: 500;
	padding: 0.3rem 0.8rem;
	border-radius: 999px;
}
.loc-intro { max-width: 720px; font-size: 1.02rem; line-height: 1.75; }
.loc-highlights { background: var(--surface); border-bottom: 1px solid var(--line); padding: 2.25rem 0 2.5rem; }
.loc-highlights__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 1.1rem;
	margin-top: 1.4rem;
}
.loc-hl {
	position: relative;
	display: flex;
	gap: 1rem;
	background: var(--bg);
	border: 1px solid var(--line);
	border-radius: 16px;
	padding: 1.3rem 1.35rem;
	overflow: hidden;
	transition: transform 0.25s var(--ease), box-shadow 0.25s var(--ease);
}
.loc-hl::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: 4px;
	background: linear-gradient(180deg, var(--star), var(--aegean));
}
.loc-hl:hover { transform: translateY(-3px); box-shadow: 0 14px 32px rgba(24, 22, 20, 0.09); }
.loc-hl__num {
	flex-shrink: 0;
	font-family: var(--font-serif);
	font-style: italic;
	font-size: 1.5rem;
	font-weight: 600;
	color: var(--star);
	line-height: 1;
	margin-top: 0.15rem;
}
.loc-hl__title { margin: 0 0 0.3rem; font-family: var(--font-serif); font-size: 1.08rem; font-weight: 600; }
.loc-hl__desc { margin: 0; font-size: 0.87rem; color: var(--ink-soft); line-height: 1.6; }
.loc-places-title { margin-bottom: 1.2rem; }

/* Κατάλογος home-cats: υπότιτλοι (Περιοχές / Κατηγορίες) */
.home-cats__sub {
	margin: 1.6rem 0 0.4rem;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--ink-muted);
}

/* Ιστορίες (blog) */
.stories { padding: 2.25rem 1.25rem 3rem; }
.stories--home { background: var(--surface); border-top: 1px solid var(--line); }
.stories--home > .container { padding-top: 2.5rem; padding-bottom: 3rem; }
.stories__head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-bottom: 1.4rem; }
.stories__all {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--aegean);
	text-decoration: none;
}
.stories__all:hover { color: var(--star); }
.stories__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 1.25rem; }
.stories__grid--three { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.stories__grid--two { grid-template-columns: repeat(2, 1fr); gap: 1.25rem; }
@media (max-width: 720px) { .stories__grid--two { grid-template-columns: 1fr; } }
.story-card--row .story-card__link { flex-direction: row; }
.story-card--row .story-card__media { flex: 0 0 38%; }
.story-card--row .story-card__media img { height: 100%; aspect-ratio: 1 / 1; }
.story-card--row .story-card__body { flex: 1 1 62%; align-self: stretch; padding: 0.9rem 1.05rem 1rem; gap: 0.35rem; }
.story-card--row .story-card__title { font-size: 1rem; line-height: 1.3; }
.story-card--row .story-card__excerpt {
	font-size: 0.82rem;
	line-height: 1.55;
	color: var(--ink-soft);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
@media (max-width: 480px) {
	.story-card--row .story-card__link { flex-direction: column; }
	.story-card--row .story-card__media img { aspect-ratio: 4 / 3; }
}
.story-card {
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 16px;
	overflow: hidden;
	transition: transform 0.25s var(--ease), box-shadow 0.25s var(--ease);
}
.story-card:hover { transform: translateY(-3px); box-shadow: 0 14px 34px rgba(24, 22, 20, 0.09); }
.story-card--lead { grid-column: 1 / -1; }
.story-card__link { display: flex; flex-direction: column; height: 100%; color: inherit; text-decoration: none; }
.story-card--lead .story-card__link { flex-direction: row; }
.story-card--lead .story-card__media { flex: 1 1 52%; }
.story-card--lead .story-card__body { flex: 1 1 48%; align-self: center; }
.story-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; aspect-ratio: 4 / 3; }
.story-card__body { padding: 1.15rem 1.25rem 1.3rem; display: flex; flex-direction: column; gap: 0.45rem; }
.story-card__meta { display: flex; align-items: center; gap: 0.6rem; font-size: 0.76rem; color: var(--ink-muted); }
.story-card__cat {
	background: rgba(34, 191, 241, 0.12);
	color: var(--aegean);
	font-weight: 600;
	padding: 0.18rem 0.6rem;
	border-radius: 999px;
}
.story-card__title { margin: 0; font-family: var(--font-serif); font-weight: 600; font-size: 1.12rem; line-height: 1.35; }
.story-card--lead .story-card__title { font-size: clamp(1.3rem, 2.4vw, 1.7rem); }
.story-card__excerpt { margin: 0; font-size: 0.88rem; color: var(--ink-soft); line-height: 1.6; }
.story-card__more {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	margin-top: auto;
	padding-top: 0.4rem;
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--aegean);
}
.story-card:hover .story-card__more { color: var(--star); }
@media (max-width: 700px) {
	.story-card--lead .story-card__link { flex-direction: column; }
}

/* Άρθρο */
.story { position: relative; }
.story__progress {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: rgba(34, 191, 241, 0.12);
	z-index: 60;
	pointer-events: none;
}
.story__progress-bar {
	display: block;
	height: 100%;
	width: 0;
	background: linear-gradient(90deg, var(--star) 0%, #1693c4 100%);
	transition: width 0.08s linear;
}
.story__read {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	color: rgba(255, 255, 255, 0.78);
	font-weight: 500;
}
.story__read svg { opacity: 0.7; }
.story__tags-wrap { margin-top: 1.1rem; max-width: 720px; }
.story__hero { background: linear-gradient(160deg, #142c39 0%, #1b3a4b 60%, #22485d 100%); color: #fff; padding: 2rem 0 1.75rem; }
.story__hero .breadcrumb, .story__hero .breadcrumb a { color: rgba(255, 255, 255, 0.7); }
.story__title {
	margin: 0.5rem 0 0.7rem;
	font-family: var(--font-serif);
	font-weight: 500;
	font-size: clamp(1.6rem, 4vw, 2.5rem);
	line-height: 1.15;
	max-width: 800px;
}
.story__meta { display: flex; align-items: center; flex-wrap: wrap; gap: 0.5rem 0.85rem; font-size: 0.84rem; color: rgba(255, 255, 255, 0.78); }
.story__cat {
	background: rgba(34, 191, 241, 0.22);
	color: #cdefff;
	font-weight: 600;
	padding: 0.2rem 0.7rem;
	border-radius: 999px;
	font-size: 0.78rem;
	letter-spacing: 0.02em;
}
.story__faq-jump {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	margin-left: auto;
	padding: 0.25rem 0.7rem;
	font-size: 0.78rem;
	font-weight: 600;
	color: #fff;
	background: rgba(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 999px;
	text-decoration: none;
	transition: background 0.2s var(--ease), border-color 0.2s var(--ease);
}
.story__faq-jump:hover { background: rgba(34, 191, 241, 0.35); border-color: rgba(34, 191, 241, 0.6); }
.story__media { margin-top: 1.75rem; }
.story__media img { width: 100%; height: auto; border-radius: 16px; }
.story__content { max-width: 720px; padding-top: 2rem; padding-bottom: 3rem; font-size: 1.02rem; line-height: 1.8; }
.story__content p { text-align: justify; text-justify: inter-word; hyphens: auto; -webkit-hyphens: auto; }
.story__content h2 { font-family: var(--font-serif); font-weight: 600; margin: 2rem 0 0.8rem; font-size: 1.45rem; }
.story__content h3 { margin: 1.6rem 0 0.6rem; font-size: 1.15rem; }
.story__content p.lead { font-size: 1.12rem; color: var(--ink-soft); }
.story__content img { max-width: 100%; height: auto; border-radius: 12px; }
.story__content ul, .story__content ol { padding-left: 1.3rem; }
.story__content a {
	color: #1693c4;
	text-decoration: underline;
	text-decoration-color: rgba(34, 191, 241, 0.45);
	text-underline-offset: 3px;
	text-decoration-thickness: 1px;
	transition: color 0.2s var(--ease), text-decoration-color 0.2s var(--ease);
}
.story__content a:hover { color: #0f6b91; text-decoration-color: currentColor; }
.story__content blockquote {
	position: relative;
	margin: 2rem 0;
	padding: 1.1rem 1.3rem 1.1rem 2.6rem;
	background: rgba(34, 191, 241, 0.08);
	border-left: 4px solid var(--star);
	border-radius: 0 12px 12px 0;
	font-family: var(--font-serif);
	font-style: italic;
	font-size: 1.1rem;
	line-height: 1.6;
	color: var(--aegean-deep);
	text-align: left;
}
.story__content blockquote::before {
	content: "\201C";
	position: absolute;
	top: 0.1rem;
	left: 0.6rem;
	font-family: var(--font-serif);
	font-size: 3rem;
	line-height: 1;
	color: var(--star);
	opacity: 0.55;
}
.story__content blockquote p { margin: 0 0 0.5rem; text-align: left; hyphens: manual; }
.story__content blockquote p:last-child { margin-bottom: 0; }
.story__content blockquote cite {
	display: block;
	margin-top: 0.5rem;
	font-family: var(--font-sans);
	font-style: normal;
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--ink-soft);
}

/* Ετικέτες άρθρου */
.story__tags { display: flex; flex-wrap: wrap; gap: 0.45rem; margin: 0; }
.story__tag {
	display: inline-flex;
	align-items: center;
	padding: 0.28rem 0.75rem;
	font-size: 0.82rem;
	font-weight: 500;
	color: var(--aegean);
	background: rgba(27, 58, 75, 0.06);
	border: 1px solid rgba(27, 58, 75, 0.12);
	border-radius: 999px;
	text-decoration: none;
	transition: background 0.2s var(--ease), color 0.2s var(--ease), border-color 0.2s var(--ease);
}
.story__tag:hover { background: rgba(34, 191, 241, 0.14); color: var(--star); border-color: rgba(34, 191, 241, 0.35); }

/* FAQs άρθρου */
.story__faqs { margin: 2.5rem 0 1.5rem; scroll-margin-top: 90px; }
.story__faqs-title {
	font-family: var(--font-serif);
	font-weight: 600;
	font-size: 1.4rem;
	margin: 0 0 1rem;
	padding-bottom: 0.45rem;
	border-bottom: 2px solid var(--star);
	display: inline-block;
}
.story__faqs-list { display: flex; flex-direction: column; gap: 0.55rem; }
.story__faq {
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 12px;
	overflow: hidden;
}
.story__faq-q {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	cursor: pointer;
	list-style: none;
	font-weight: 600;
	font-size: 0.97rem;
	padding: 0.95rem 1.15rem;
	color: var(--ink);
	transition: color 0.2s var(--ease);
}
.story__faq-q::-webkit-details-marker { display: none; }
.story__faq-q:hover { color: var(--star); }
.story__faq-chev { flex-shrink: 0; color: var(--ink-muted); transition: transform 0.25s var(--ease); }
.story__faq[open] .story__faq-chev { transform: rotate(180deg); }
.story__faq[open] .story__faq-q { color: var(--star); }
.story__faq-a { padding: 0 1.15rem 1.05rem; font-size: 0.95rem; line-height: 1.7; color: var(--ink-soft); }
.story__faq-a p { text-align: left; hyphens: manual; }
.story__faq-a a { color: var(--star); font-weight: 600; }

/* CTA Parnassos360 στο τέλος του άρθρου */
.story__cta {
	margin: 2.5rem 0 0;
	padding: 1.5rem 1.5rem 1.4rem;
	background: linear-gradient(135deg, rgba(34, 191, 241, 0.10) 0%, rgba(27, 58, 75, 0.06) 100%);
	border: 1px solid rgba(34, 191, 241, 0.22);
	border-radius: 16px;
}
.story__cta-text {
	margin: 0;
	font-family: var(--font-serif);
	font-size: 1.05rem;
	line-height: 1.55;
	color: var(--aegean-deep);
	text-align: left;
	hyphens: manual;
}
.story__cta-brand { font-weight: 700; color: var(--star); text-decoration: none; border-bottom: 2px solid currentColor; }
.story__cta-brand:hover { color: var(--aegean); }
.story__cta-locs { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-top: 1rem; }
.story__cta-loc {
	display: inline-flex;
	align-items: center;
	padding: 0.32rem 0.8rem;
	font-size: 0.84rem;
	font-weight: 500;
	color: var(--aegean);
	background: var(--surface);
	border: 1px solid rgba(27, 58, 75, 0.18);
	border-radius: 999px;
	text-decoration: none;
	transition: background 0.2s var(--ease), color 0.2s var(--ease), border-color 0.2s var(--ease);
}
.story__cta-loc:hover { background: var(--star); color: #fff; border-color: var(--star); }

.stories--related { padding-top: 0; }

/* Dropdown περιοχών: υψόμετρο ως badge */
.dropdown__alt {
	display: inline-block;
	font-size: 0.82rem;
	font-weight: 700;
	color: var(--aegean);
	background: rgba(34, 191, 241, 0.14);
	border-radius: 999px;
	padding: 0.12rem 0.5rem;
	margin-left: 0.45rem;
	vertical-align: middle;
	white-space: nowrap;
}

/* Σελίδα περιοχής: tabs επιχειρήσεων (αριστερά κατηγορίες, δεξιά cards) */
.loc-biz {
	display: grid;
	grid-template-columns: 240px 1fr;
	gap: 1.5rem;
	align-items: start;
	margin-top: 1rem;
}
.loc-biz__nav { display: flex; flex-direction: column; gap: 0.4rem; position: sticky; top: 84px; }
.loc-biz__tab {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.6rem;
	cursor: pointer;
	font: inherit;
	font-size: 0.9rem;
	font-weight: 500;
	text-align: left;
	color: var(--ink-soft);
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 12px;
	padding: 0.7rem 0.95rem;
	transition: border-color 0.2s var(--ease), color 0.2s var(--ease), background 0.2s var(--ease);
}
.loc-biz__tab:hover { border-color: var(--star); color: var(--star); }
.loc-biz__tab.is-active { background: var(--aegean-deep); border-color: var(--aegean-deep); color: #fff; }
.loc-biz__tab-count {
	font-size: 0.74rem;
	font-weight: 600;
	background: rgba(34, 191, 241, 0.12);
	color: var(--aegean);
	border-radius: 999px;
	padding: 0.1rem 0.55rem;
}
.loc-biz__tab.is-active .loc-biz__tab-count { background: rgba(255, 255, 255, 0.16); color: #fff; }
.loc-biz__panel { display: none; }
.loc-biz__panel.is-active { display: block; }
.places-grid--loc { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); }
.loc-biz__more {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	margin-top: 1.2rem;
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--aegean);
	text-decoration: none;
}
.loc-biz__more:hover { color: var(--star); }
@media (max-width: 860px) {
	.loc-biz { grid-template-columns: 1fr; }
	.loc-biz__nav { position: static; flex-direction: row; overflow-x: auto; scrollbar-width: none; padding-bottom: 0.3rem; }
	.loc-biz__nav::-webkit-scrollbar { display: none; }
	.loc-biz__tab { flex-shrink: 0; }
}

/* ΤΟΥΜΠΑΝΟΣ χάρτης (/xartis/) */
.bigmap { position: relative; height: calc(100vh - 61px); min-height: 480px; }
.bigmap__map { position: absolute; inset: 0; z-index: 1; }
.bigmap__panel {
	position: absolute;
	top: 1rem;
	left: 1rem;
	z-index: 1000;
	max-width: min(420px, calc(100vw - 2rem));
	background: rgba(250, 247, 242, 0.96);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border: 1px solid var(--line);
	border-radius: 16px;
	padding: 1rem 1.1rem;
	box-shadow: 0 12px 36px rgba(24, 22, 20, 0.14);
}
.bigmap__head { display: flex; align-items: baseline; justify-content: space-between; gap: 0.8rem; margin-bottom: 0.6rem; }
.bigmap__title { margin: 0; font-family: var(--font-serif); font-weight: 600; font-size: 1.25rem; }
.bigmap__title span { color: var(--ink-muted); font-style: italic; font-weight: 400; }
.bigmap__count { margin: 0; font-size: 0.8rem; font-weight: 600; color: var(--star); white-space: nowrap; }
.bigmap__chips { display: flex; flex-wrap: wrap; gap: 0.35rem; margin-top: 0.5rem; }
.bigmap__chips .chip { font-size: 0.78rem; padding: 0.32rem 0.75rem; }
.bigmap__layer {
	position: absolute;
	bottom: 1.6rem;
	left: 1rem;
	z-index: 1000;
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	cursor: pointer;
	font: inherit;
	font-size: 0.84rem;
	font-weight: 600;
	color: var(--ink);
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 999px;
	padding: 0.5rem 1rem;
	box-shadow: 0 8px 24px rgba(24, 22, 20, 0.16);
}
.bigmap__layer.is-active { background: var(--aegean-deep); border-color: var(--aegean-deep); color: #fff; }
@media (max-width: 600px) {
	.bigmap__panel { top: 0.6rem; left: 0.6rem; right: 0.6rem; max-width: none; padding: 0.8rem 0.9rem; }
	.bigmap__chips { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
	.bigmap__chips::-webkit-scrollbar { display: none; }
}

/* Ski status badges + band */
.ski-badge {
	display: inline-block;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	padding: 0.18rem 0.6rem;
	border-radius: 999px;
}
.ski-badge--open { background: rgba(0, 163, 42, 0.12); color: #00802a; }
.ski-badge--partial { background: rgba(153, 104, 0, 0.12); color: #996800; }
.ski-badge--closed { background: rgba(179, 45, 46, 0.1); color: #b32d2e; }
.ski-badge--unknown { background: #ececec; color: #787c82; }
.open-now__label .ski-badge { margin-left: 0.5rem; }
.ski-band { padding: 2rem 1.25rem 0; }
.ski-band__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; }
.ski-card {
	display: flex;
	gap: 0.9rem;
	align-items: flex-start;
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 16px;
	padding: 1.1rem 1.2rem;
}
.ski-card__icon {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border-radius: 12px;
	background: rgba(34, 191, 241, 0.12);
	color: var(--aegean);
}
.ski-card__title { margin: 0 0 0.3rem; font-size: 0.92rem; }
.ski-card__big { font-family: var(--font-serif); font-size: 1.4rem; font-weight: 600; }
.ski-card__big small { font-size: 0.8rem; color: var(--ink-muted); font-family: var(--font-sans, inherit); }
.ski-card__note { margin: 0.3rem 0 0; font-size: 0.78rem; color: var(--ink-soft); }

/* Webcams */
.cams { padding: 2.25rem 1.25rem 3rem; }
.cams__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 1.25rem; }
.cam-card {
	margin: 0;
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 16px;
	overflow: hidden;
}
.cam-card--wide { grid-column: 1 / -1; }
.cam-card__media { position: relative; aspect-ratio: 16 / 9; background: #0c1c26; }
.cam-card--wide .cam-card__media { aspect-ratio: 21 / 9; }
.cam-card__media iframe, .cam-card__media img { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; object-fit: cover; }
.cam-card__body { padding: 0.9rem 1.1rem 1rem; }
.cam-card__name { margin: 0 0 0.2rem; font-size: 1rem; }
.cam-card__desc { margin: 0; font-size: 0.84rem; color: var(--ink-soft); }
.cam-card__desc small { color: var(--ink-muted); }

/* Weekend planner */
.wk { padding: 2.25rem 1.25rem 3rem; max-width: 880px; }
.wk__form {
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 16px;
	padding: 1.5rem 1.6rem;
	display: flex;
	flex-direction: column;
	gap: 1.1rem;
}
.wk__group { border: 0; padding: 0; margin: 0; }
.wk__label { font-size: 0.8rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-muted); margin-bottom: 0.5rem; }
.wk__chips { display: flex; flex-wrap: wrap; gap: 0.45rem; }
.wk__chips .chip.is-active { background: var(--star); border-color: var(--star); color: #fff; }
.wk__go {
	align-self: flex-start;
	cursor: pointer;
	background: var(--aegean-deep);
	color: #fff;
	border: 0;
	border-radius: 999px;
	font: inherit;
	font-weight: 600;
	font-size: 0.95rem;
	padding: 0.75rem 1.6rem;
	transition: background 0.2s var(--ease);
}
.wk__go:hover { background: var(--star); }
.wk__go:disabled { opacity: 0.6; cursor: wait; }
.wk__loading { margin-top: 1.2rem; color: var(--ink-soft); font-style: italic; }
.wk__result { margin-top: 1.6rem; }
.wk-plan__title { font-family: var(--font-serif); font-weight: 600; font-size: 1.5rem; margin: 0 0 1rem; }
.wk-plan__days { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 1.25rem; }
.wk-day { background: var(--surface); border: 1px solid var(--line); border-radius: 16px; padding: 1.2rem 1.3rem; }
.wk-day__label { margin: 0 0 0.8rem; font-family: var(--font-serif); font-size: 1.15rem; font-weight: 600; color: var(--aegean); }
.wk-day__stops { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.85rem; }
.wk-stop { display: flex; gap: 0.8rem; align-items: flex-start; }
.wk-stop__time {
	flex-shrink: 0;
	font-size: 0.74rem;
	font-weight: 700;
	color: var(--star);
	background: rgba(34, 191, 241, 0.1);
	border-radius: 999px;
	padding: 0.22rem 0.6rem;
	margin-top: 0.1rem;
	min-width: 56px;
	text-align: center;
}
.wk-stop__place { display: inline-flex; align-items: center; gap: 0.5rem; color: inherit; text-decoration: none; font-weight: 600; }
.wk-stop__place:hover .wk-stop__name { color: var(--star); }
.wk-stop__thumb { width: 34px; height: 34px; border-radius: 8px; object-fit: cover; }
.wk-stop__name { font-size: 0.94rem; font-weight: 600; }
.wk-stop__note { margin: 0.2rem 0 0; font-size: 0.84rem; color: var(--ink-soft); line-height: 1.5; }

/* Chips ως links (φίλτρο περιοχής σε σελίδες κατηγορίας) */
a.chip { text-decoration: none; display: inline-flex; align-items: center; gap: 0.3rem; }

/* Λίστα σημείων στον μεγάλο χάρτη */
.bigmap__list {
	margin-top: 0.7rem;
	max-height: min(44vh, 420px);
	overflow-y: auto;
	border-top: 1px solid var(--line);
	padding-top: 0.5rem;
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
}
.bigmap__item {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	width: 100%;
	cursor: pointer;
	font: inherit;
	font-size: 0.84rem;
	text-align: left;
	color: var(--ink);
	background: none;
	border: 0;
	border-radius: 10px;
	padding: 0.4rem 0.5rem;
	transition: background 0.15s var(--ease);
}
.bigmap__item:hover, .bigmap__item.is-active { background: rgba(34, 191, 241, 0.1); }
.bigmap__item-img { width: 34px; height: 34px; border-radius: 8px; object-fit: cover; flex-shrink: 0; background: #e8e4dd; }
.bigmap__item-name { font-weight: 600; display: block; line-height: 1.25; }
.bigmap__item-meta { display: block; font-size: 0.72rem; color: var(--ink-muted); }
.bigmap__item-rating { color: var(--star); font-weight: 700; font-size: 0.78rem; margin-left: auto; flex-shrink: 0; }
@media (max-width: 600px) {
	.bigmap__list { max-height: 26vh; }
}

/* Leaflet tooltip στο hover των pins */
.vlgm-tip {
	background: var(--aegean-deep);
	color: #fff;
	border: 0;
	border-radius: 8px;
	font-weight: 600;
	font-size: 0.78rem;
	padding: 0.3rem 0.6rem;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
}
.vlgm-tip::before { display: none; }
.mtn-now__temp { display: inline-flex; flex-direction: column; align-items: center; line-height: 1.05; }
.mtn-now__temp-lbl { font-family: var(--font-sans, inherit); font-size: 0.58rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-muted); }

/* Hero: το «Πάνω» ανεβαίνει — το υψόμετρο της κορυφής ΑΚΡΙΒΩΣ από κάτω του */
.home-hero__up { position: relative; display: inline-block; transform: translateY(-0.22em); margin-right: 0.4em; }
.home-hero__altitude {
	position: absolute;
	top: 100%;
	left: 0.05em;
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	white-space: nowrap;
	font-family: var(--font-sans, Inter, sans-serif);
	font-style: normal;
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1;
	color: var(--star);
	margin-top: 0.18em;
}
.home-hero__altitude svg { color: var(--star); flex-shrink: 0; }
.home-hero__title { margin-bottom: 1.4rem; }

/* Insider perks (newsletter promo) */
.insider__perks { list-style: none; margin: 1rem 0 0; padding: 0; display: flex; flex-direction: column; gap: 0.7rem; max-width: 480px; }
.insider__perk { display: flex; gap: 0.7rem; align-items: flex-start; font-size: 0.92rem; line-height: 1.55; }
.insider__perk em { font-style: italic; }
.insider__perk-icon {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 9px;
	background: rgba(34, 191, 241, 0.14);
	color: var(--star);
	margin-top: 0.1rem;
}
.insider__perk-icon--snow { background: var(--star); color: #fff; }

/* Hero καιρός: πίνακας Τώρα/Αύριο με στοιχισμένες στήλες */
.mtn-tbl { display: flex; flex-direction: column; gap: 0.2rem; }
.mtn-tbl__row {
	display: grid;
	grid-template-columns: 1fr 52px 92px;
	align-items: center;
	gap: 0.6rem;
	text-decoration: none;
	color: inherit;
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 14px;
	padding: 0.55rem 0.8rem;
	transition: border-color 0.2s var(--ease), transform 0.2s var(--ease);
}
.mtn-tbl__row:hover { border-color: var(--star); transform: translateX(2px); }
.mtn-tbl__row--head {
	background: none;
	border: 0;
	padding: 0 0.8rem;
}
.mtn-tbl__colhead {
	font-size: 0.64rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--ink-muted);
	text-align: center;
}
.mtn-tbl__loc { display: flex; align-items: center; gap: 0.6rem; min-width: 0; }
.mtn-tbl__loc .mtn-now__icon { width: 38px; height: 38px; }
.mtn-tbl__loc-text { min-width: 0; display: flex; flex-direction: column; }
.mtn-tbl__loc-text .open-now__meta { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mtn-tbl__now {
	font-family: var(--font-serif);
	font-size: 1.3rem;
	font-weight: 600;
	text-align: center;
}
.mtn-tbl__tmr { display: flex; align-items: center; justify-content: center; gap: 0.45rem; font-size: 0.88rem; font-weight: 600; }
.mtn-tbl__max { display: inline-flex; align-items: center; gap: 0.12rem; color: var(--ink); }
.mtn-tbl__max svg { color: #e8590c; }
.mtn-tbl__min { display: inline-flex; align-items: center; gap: 0.12rem; color: var(--ink-muted); }
.mtn-tbl__min svg { color: var(--star); }

/* Συνθήκες: compact αναδιοργάνωση */
.wx-hero__badge { vertical-align: middle; margin-left: 0.6rem; font-size: 0.78rem; }
.wx-hero__src { display: block; margin-top: 0.3rem; color: rgba(255, 255, 255, 0.55); font-size: 0.74rem; }
.wx-sec-head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.wx-meta--inline { margin: 0; }
.wx-card--compact {
	display: flex;
	align-items: center;
	gap: 0.9rem;
	padding: 0.95rem 1.1rem;
}
.wx-card--compact .wx-card__main { flex: 1; min-width: 0; }
.wx-card--compact .wx-card__loc { margin: 0 0 0.1rem; font-size: 0.94rem; }
.wx-card--compact .wx-card__desc { font-size: 0.8rem; }
.wx-card--compact .wx-card__details { margin-top: 0.35rem; gap: 0.6rem; }
.wx-card--compact .wx-card__temp { font-size: 1.8rem; flex-shrink: 0; }
.wx-now { padding-bottom: 0; }
.wx-forecast { padding-top: 1.75rem; }

/* Πέρυσι τέτοια εποχή: λιτές γραμμές */
.wx-lastyear { padding: 0 1.25rem 3rem; }
.wx-ly__grid { display: flex; flex-direction: column; gap: 0.4rem; margin-top: 0.9rem; max-width: 640px; }
.wx-ly {
	display: grid;
	grid-template-columns: 30px 1fr 86px minmax(90px, auto);
	align-items: center;
	gap: 0.7rem;
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 12px;
	padding: 0.55rem 0.9rem;
	font-size: 0.88rem;
}
.wx-ly__loc { font-weight: 600; }
.wx-ly__temps { text-align: right; }
.wx-ly__temps b { font-size: 0.95rem; }
.wx-ly__extra { display: inline-flex; align-items: center; gap: 0.3rem; justify-content: flex-end; color: var(--ink-soft); font-size: 0.8rem; }

/* Μενού: πιο bold */
.site-nav .menu > li > a,
.site-nav .dropdown-trigger { font-weight: 650; letter-spacing: 0.01em; }

/* Συνθήκες hero: widget χιονοδρομικού δεξιά */
.wx-hero__grid { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap; }
.wx-hero__widget {
	display: flex;
	gap: 0.8rem;
	align-items: flex-start;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 14px;
	padding: 0.9rem 1.15rem;
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
}
.wx-hero__widget-icon {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 11px;
	background: rgba(34, 191, 241, 0.2);
	color: #9fdef5;
}
.wx-hero__widget-title { margin: 0 0 0.3rem; font-size: 0.78rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: rgba(255, 255, 255, 0.7); }
.wx-hero__widget-lifts { margin-left: 0.5rem; font-size: 0.84rem; font-weight: 600; color: #fff; }
.wx-hero__widget-src { margin: 0.35rem 0 0; font-size: 0.7rem; color: rgba(255, 255, 255, 0.5); }

/* Πέρυσι τέτοια εποχή: μικρότερο, κάτω από το «τώρα» */
.wx-lastyear { padding-top: 1.2rem; padding-bottom: 0; }
.wx-ly__title { font-size: 0.95rem; color: var(--ink-soft); }
.wx-ly { font-size: 0.82rem; padding: 0.45rem 0.8rem; }
.wx-ly__temps b { font-size: 0.88rem; }

/* Badges μέσα στο dark hero widget: solid χρώματα για αναγνωσιμότητα */
.wx-hero__widget .ski-badge--open { background: #00a32a; color: #fff; }
.wx-hero__widget .ski-badge--partial { background: #d29922; color: #14110a; }
.wx-hero__widget .ski-badge--closed { background: #e5484d; color: #fff; }
.wx-hero__widget .ski-badge--unknown { background: rgba(255, 255, 255, 0.25); color: #fff; }

/* 🎿 Σκιέρ στο scroll: λωρίδα με βουνά στο κάτω μέρος της οθόνης */
.skier-strip {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	height: 74px;
	z-index: 5;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.4s var(--ease);
	/* Silhouette βουνών με χιονισμένες κορυφές */
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 74' preserveAspectRatio='none'%3E%3Cpath d='M0 74 60 28 90 44 150 8 205 52 260 22 310 48 380 12 440 50 500 26 560 46 600 30V74Z' fill='%231b3a4b' fill-opacity='.10'/%3E%3Cpath d='M150 8 138 22h10l-6 9 16-1 12-12z' fill='%23ffffff' fill-opacity='.55'/%3E%3Cpath d='M380 12 369 25h9l-5 8 15-1 10-11z' fill='%23ffffff' fill-opacity='.55'/%3E%3C/svg%3E");
	background-size: 600px 74px;
	background-repeat: repeat-x;
	background-position: bottom;
}
.skier-strip.is-visible { opacity: 1; }
.skier-strip__skier {
	position: absolute;
	bottom: 8px;
	left: 0;
	width: 54px;
	height: auto;
	will-change: transform;
	filter: drop-shadow(0 3px 3px rgba(20, 44, 57, 0.25));
}
@media (max-width: 700px), (prefers-reduced-motion: reduce) {
	.skier-strip { display: none; }
}

/* Κάρτες «Τώρα» με ενσωματωμένο «Πέρυσι» */
.wx-card--compact { flex-direction: column; align-items: stretch; gap: 0; }
.wx-card__row { display: flex; align-items: center; gap: 0.9rem; }
.wx-card__lastyear {
	margin: 0.7rem 0 0;
	padding-top: 0.6rem;
	border-top: 1px dashed var(--line);
	font-size: 0.78rem;
	color: var(--ink-soft);
}
.wx-card__lastyear b { color: var(--ink); }
.wx-card__lastyear-lbl {
	display: inline-block;
	font-size: 0.64rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ink-muted);
	background: var(--bg);
	border: 1px solid var(--line);
	border-radius: 999px;
	padding: 0.08rem 0.5rem;
	margin-right: 0.35rem;
}

/* Finale: μεγάλα έντονα βουνά κάτω από το footer - «Σας περιμένουμε.» */
.footer-peaks {
	position: relative;
	height: 330px;
	overflow: hidden;
	margin-top: 2rem;
}
.footer-peaks__svg {
	position: absolute;
	inset: auto 0 0;
	width: 100%;
	height: 230px;
	display: block;
	transform: translateY(40%);
	transition: transform 1s var(--ease);
}
.footer-peaks.is-in .footer-peaks__svg { transform: translateY(0); }
.footer-peaks__text {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	text-align: center;
	z-index: 2;
	opacity: 0;
	transform: translateY(14px);
	transition: opacity 0.8s var(--ease) 0.35s, transform 0.8s var(--ease) 0.35s;
}
.footer-peaks.is-in .footer-peaks__text { opacity: 1; transform: translateY(0); }
.footer-peaks__alt {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	margin: 0 0 0.2rem;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	color: var(--star);
}
.footer-peaks__msg {
	margin: 0;
	font-family: var(--font-serif);
	font-style: italic;
	font-weight: 600;
	font-size: clamp(1.5rem, 3.5vw, 2.2rem);
	color: var(--ink);
}
.footer-peaks__msg span { color: var(--star); font-style: normal; }
@media (max-width: 700px) {
	.footer-peaks { height: 250px; }
	.footer-peaks__svg { height: 160px; }
}
/* Τα βουνά ακουμπούν στο κάτω άκρο της σελίδας (απορροφούν το footer padding) */
.footer-peaks { margin-bottom: -2rem; }

/* Personas: charcoal + γαλάζιο (παλέτα λογοτύπου), χωρίς κυκλάκια, ΟΛΑ σε 1 γραμμή */
.personas {
	background:
		radial-gradient(1100px 500px at 85% -10%, rgba(34, 191, 241, 0.13), transparent 60%),
		radial-gradient(900px 600px at 10% 110%, rgba(34, 191, 241, 0.07), transparent 55%),
		linear-gradient(160deg, #131517 0%, #1c2023 55%, #24292d 100%);
}
.personas__grid {
	display: flex;
	flex-wrap: nowrap;
	gap: 0.7rem;
	overflow-x: auto;
	scrollbar-width: none;
	padding-bottom: 0.3rem;
}
.personas__grid::-webkit-scrollbar { display: none; }
.personas__grid .persona {
	flex: 1 1 0;
	min-width: 128px;
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	padding: 1rem 0.9rem 0.9rem;
}
.personas__grid .persona__icon { align-self: flex-start; }
.personas__grid .persona__name { font-size: 0.88rem; line-height: 1.3; }
.personas__grid .persona__count { margin-top: auto; font-size: 0.74rem; }

/* Promo: το Sponsored label κρύβεται στο hover */
.promo-card:hover .sponsored-tag { opacity: 0; transition: opacity 0.3s var(--ease); }

/* =============================================================================
 * ΕΝΙΑΙΟ ΧΡΩΜΑ «ΦΑΣΑΣ» (band): personas, newsletter, σελίδες κατηγορίας/περιοχής, άρθρα.
 * Άλλαξε ΜΟΝΟ το --band εδώ και αλλάζει παντού.
 * ========================================================================== */
:root {
	--band:
		radial-gradient(1100px 500px at 85% -10%, rgba(34, 191, 241, 0.13), transparent 60%),
		radial-gradient(900px 600px at 10% 110%, rgba(34, 191, 241, 0.07), transparent 55%),
		linear-gradient(160deg, #131517 0%, #1c2023 55%, #24292d 100%);
}
.personas,
.insider,
.tax-hero,
.story__hero,
.loc-facts {
	background: var(--band);
}

/* Το hidden attribute νικά πάντα (το .btn display το παρέκαμπτε) */
[hidden] { display: none !important; }

/* Premium Listing: σύγκριση Free vs Premium */
.pricing { padding: 2.5rem 1.25rem 3.5rem; max-width: 980px; }
.pricing__grid { display: grid; grid-template-columns: 1fr 1.15fr; gap: 1.5rem; align-items: start; }
.pricing__card {
	position: relative;
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 18px;
	padding: 1.8rem 1.7rem;
}
.pricing__card--premium {
	background: var(--band);
	color: #fff;
	border: 0;
	box-shadow: 0 20px 50px rgba(19, 21, 23, 0.25);
}
.pricing__flag {
	position: absolute;
	top: -12px;
	right: 1.4rem;
	background: var(--star);
	color: #fff;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	border-radius: 999px;
	padding: 0.3rem 0.8rem;
}
.pricing__name { margin: 0 0 0.3rem; font-family: var(--font-serif); font-size: 1.4rem; font-weight: 600; }
.pricing__price { margin: 0 0 0.6rem; font-size: 1.6rem; font-weight: 700; }
.pricing__price small { font-size: 0.8rem; font-weight: 500; color: var(--ink-muted); }
.pricing__card--premium .pricing__price small { color: rgba(255, 255, 255, 0.6); }
.pricing__desc { margin: 0 0 1.2rem; font-size: 0.92rem; color: var(--ink-soft); }
.pricing__card--premium .pricing__desc { color: rgba(255, 255, 255, 0.75); }
.pricing__list { list-style: none; margin: 0 0 1.5rem; padding: 0; display: flex; flex-direction: column; gap: 0.65rem; }
.pricing__list li { display: flex; gap: 0.6rem; align-items: flex-start; font-size: 0.9rem; line-height: 1.5; }
.pricing__list li svg { flex-shrink: 0; color: #00a32a; margin-top: 0.2rem; }
.pricing__list--premium li { flex-direction: column; gap: 0.1rem; padding-left: 0; border-left: 3px solid rgba(34, 191, 241, 0.5); padding-left: 0.8rem; }
.pricing__list--premium li strong { font-size: 0.94rem; }
.pricing__list--premium li span { font-size: 0.82rem; color: rgba(255, 255, 255, 0.65); }
.pricing__cta { display: inline-flex; justify-content: center; width: 100%; text-decoration: none; }
.pricing__cta--premium {
	background: var(--star);
	color: #fff;
	border: 0;
	border-radius: 999px;
	font-weight: 700;
	padding: 0.85rem 1.4rem;
	transition: transform 0.2s var(--ease), box-shadow 0.2s var(--ease);
}
.pricing__cta--premium:hover { transform: translateY(-2px); box-shadow: 0 10px 26px rgba(34, 191, 241, 0.4); color: #fff; }
@media (max-width: 760px) {
	.pricing__grid { grid-template-columns: 1fr; }
}

/* Χάρτης fullscreen */
.bigmap__fs { bottom: auto; top: 1rem; left: auto; right: 1rem; }
.bigmap:fullscreen { height: 100vh; }
.bigmap:fullscreen .bigmap__map { inset: 0; }

/* Footer 5 στηλών: ενδιάμεσο breakpoint για tablet */
@media (max-width: 1100px) and (min-width: 783px) {
	.footer-grid { grid-template-columns: 1fr 1fr 1fr; gap: 2rem 2.5rem; }
	.footer-col--brand { grid-column: 1 / -1; }
}

/* FAQ accordion */
.faq { padding: 2.25rem 1.25rem 3rem; max-width: 820px; }
.faq__group { margin-bottom: 2.2rem; }
.faq__cat {
	font-family: var(--font-serif);
	font-weight: 600;
	font-size: 1.3rem;
	margin: 0 0 0.9rem;
	padding-bottom: 0.5rem;
	border-bottom: 2px solid var(--star);
	display: inline-block;
}
.faq__item {
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 14px;
	margin-bottom: 0.6rem;
	overflow: hidden;
}
.faq__q {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	cursor: pointer;
	list-style: none;
	font-weight: 600;
	font-size: 0.98rem;
	padding: 1rem 1.2rem;
	transition: color 0.2s var(--ease);
}
.faq__q::-webkit-details-marker { display: none; }
.faq__q:hover { color: var(--star); }
.faq__chev { flex-shrink: 0; transition: transform 0.25s var(--ease); color: var(--ink-muted); }
.faq__item[open] .faq__chev { transform: rotate(180deg); }
.faq__item[open] .faq__q { color: var(--star); }
.faq__a { padding: 0 1.2rem 1.1rem; font-size: 0.93rem; line-height: 1.7; color: var(--ink-soft); }
.faq__a a { color: var(--aegean); font-weight: 600; }
.faq__more { text-align: center; margin-top: 2.5rem; }
.faq__more .btn { text-decoration: none; }

/* Compact «Εξερεύνησε»: κουτάκια αντί για γραμμές */
.home-cats__boxes {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 0.4rem;
}
.home-cats__box {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	text-decoration: none;
	color: var(--ink);
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 12px;
	padding: 0.55rem 0.9rem;
	font-size: 0.88rem;
	font-weight: 600;
	transition: border-color 0.2s var(--ease), color 0.2s var(--ease), transform 0.2s var(--ease);
}
.home-cats__box:hover { border-color: var(--star); color: var(--star); transform: translateY(-2px); }
.home-cats__box-count {
	font-size: 0.72rem;
	font-weight: 700;
	color: var(--aegean);
	background: rgba(34, 191, 241, 0.12);
	border-radius: 999px;
	padding: 0.1rem 0.5rem;
}

/* Χάρτης: dropdowns αντί για chips - λιτό panel */
.bigmap__selects { display: flex; gap: 0.5rem; margin-top: 0.6rem; }
.bigmap__select-wrap { flex: 1; min-width: 0; }
.bigmap__select {
	width: 100%;
	font: inherit;
	font-size: 0.84rem;
	font-weight: 600;
	color: var(--ink);
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 10px;
	padding: 0.5rem 0.6rem;
	cursor: pointer;
}
.bigmap__select:focus { outline: 2px solid var(--star); outline-offset: 1px; }
.bigmap__list { max-height: min(52vh, 480px); }

/* Header menu: μαύρα links με μπλε icon αριστερά */
.site-nav .menu > li > a,
.site-nav .dropdown-trigger {
	color: var(--ink);
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
}
.menu-ico { color: var(--star); flex-shrink: 0; display: inline-flex; }

/* Main menu: μεγαλύτερα items + icons */
.site-nav .menu > li > a,
.site-nav .dropdown-trigger {
	font-size: 1.05rem;
	font-weight: 650;
	gap: 0.5rem;
}
.menu-ico svg { width: 19px; height: 19px; }

/* Main menu: χωρίς hover animations (στατικά items) */
.site-nav .menu > li > a,
.site-nav .dropdown-trigger,
.site-nav .dropdown-trigger svg {
	transition: none;
}
.site-nav .menu > li > a:hover,
.has-dropdown:hover .dropdown-trigger,
.has-dropdown.open .dropdown-trigger {
	color: var(--ink);
}
.has-dropdown:hover .dropdown-trigger svg,
.has-dropdown.open .dropdown-trigger svg {
	transform: none;
}

/* «Θερμοκρασία τώρα» κάτω από το menu item Συνθήκες */
.site-nav .menu > li { position: relative; }
.menu-temp {
	position: absolute;
	top: calc(100% - 6px);
	left: 24px;
	white-space: nowrap;
	font-size: 0.62rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	color: var(--ink-muted);
}
.menu-temp b { color: var(--star); font-weight: 700; }
@media (max-width: 782px) {
	.menu-temp { position: static; display: inline-block; margin-left: 0.4rem; font-size: 0.72rem; }
}

/* Menu λίγο πιο αριστερά */
@media (min-width: 783px) {
	.site-nav { margin-right: 2.5rem; }
}
/* Το «Θερμοκρασία τώρα» ευθυγραμμίζεται με το icon */
.menu-temp { left: 0; }

/* Dropdown: το Χιονοδρομικό πιάνει 2 στήλες */
.dropdown__item--wide { grid-column: 1 / -1; }

/* Live search: κουτάκια περιοχών/κατηγοριών πάνω από τα μέρη */
.search-overlay__terms { grid-column: 1 / -1; margin-bottom: 0.6rem; }

/* Hero CTAs (αντί για search) */
.home-hero__ctas { display: flex; gap: 0.7rem; margin-top: 1.6rem; }
.home-hero__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	text-decoration: none;
	font-weight: 700;
	font-size: 1rem;
	color: var(--ink);
	background: var(--surface);
	border: 2px solid var(--ink);
	border-radius: 999px;
	padding: 0.8rem 1.7rem;
	transition: transform 0.2s var(--ease), box-shadow 0.2s var(--ease);
}
.home-hero__cta:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(24, 22, 20, 0.14); }
.home-hero__cta--primary { background: var(--star); border-color: var(--star); color: #fff; }
.home-hero__cta svg { flex-shrink: 0; }
@media (max-width: 480px) {
	.home-hero__ctas { flex-direction: column; }
	.home-hero__cta { justify-content: center; }
}

/* ── Search overlay redesign: κεντραρισμένο, rounded, με rise animation ── */
.search-overlay__panel {
	max-width: 680px;
	margin: 14vh auto 0;
	animation: searchPanelIn 0.35s cubic-bezier(0.2, 1, 0.3, 1) both;
}
@keyframes searchPanelIn {
	from { opacity: 0; transform: translateY(22px) scale(0.97); }
	to { opacity: 1; transform: translateY(0) scale(1); }
}
.search-overlay__bar {
	border-radius: 22px;
	padding: 0.55rem 0.7rem 0.55rem 1.5rem;
	box-shadow: 0 24px 70px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(255, 255, 255, 0.08);
}
.search-overlay__bar input { font-size: 1.15rem; }
.search-overlay__count { text-align: center; }
.search-overlay__results {
	background: var(--bg);
	border-radius: 22px;
	padding: 1rem;
	margin-top: 0.8rem;
	overflow-y: auto;
	box-shadow: 0 24px 70px rgba(0, 0, 0, 0.35);
}
.search-overlay__results:empty { display: none; }
/* Αποτελέσματα: animated άνοδος, με μικρό stagger */
.search-overlay__results > * {
	animation: searchRise 0.4s cubic-bezier(0.2, 1, 0.3, 1) both;
}
.search-overlay__results > *:nth-child(2) { animation-delay: 0.04s; }
.search-overlay__results > *:nth-child(3) { animation-delay: 0.08s; }
.search-overlay__results > *:nth-child(4) { animation-delay: 0.12s; }
.search-overlay__results > *:nth-child(5) { animation-delay: 0.16s; }
.search-overlay__results > *:nth-child(n+6) { animation-delay: 0.2s; }
@keyframes searchRise {
	from { opacity: 0; transform: translateY(18px); }
	to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
	.search-overlay__panel,
	.search-overlay__results > * { animation: none; }
}
/* «φρέσκα νέα» σε μπλε */
.insider__title em { color: var(--star); }

/* ═══════════ SITE MODES ═══════════ */

/* ── Snowing Mode: χιονόπτωση σε όλο το site ── */
.vlgm-snowfall { position: fixed; inset: 0; pointer-events: none; z-index: 90; overflow: hidden; }
.vlgm-snowfall__layer {
	position: absolute;
	inset: -10% 0 0;
	background-image:
		radial-gradient(3px 3px at 12% 18%, rgba(255, 255, 255, 0.95) 50%, transparent 51%),
		radial-gradient(2px 2px at 38% 42%, rgba(255, 255, 255, 0.85) 50%, transparent 51%),
		radial-gradient(2.5px 2.5px at 64% 8%, rgba(255, 255, 255, 0.9) 50%, transparent 51%),
		radial-gradient(2px 2px at 81% 56%, rgba(255, 255, 255, 0.8) 50%, transparent 51%),
		radial-gradient(3px 3px at 93% 30%, rgba(255, 255, 255, 0.9) 50%, transparent 51%),
		radial-gradient(2px 2px at 25% 78%, rgba(255, 255, 255, 0.85) 50%, transparent 51%),
		radial-gradient(2.5px 2.5px at 52% 66%, rgba(255, 255, 255, 0.9) 50%, transparent 51%),
		radial-gradient(2px 2px at 72% 88%, rgba(255, 255, 255, 0.8) 50%, transparent 51%);
	background-size: 420px 420px;
	animation: vlgmSnowFall 11s linear infinite;
}
.vlgm-snowfall__layer--2 {
	background-size: 640px 640px;
	opacity: 0.6;
	animation-duration: 19s;
	animation-direction: reverse;
}
@keyframes vlgmSnowFall {
	from { background-position: 0 -420px; }
	to { background-position: 60px 420px; }
}
.vlgm-snow-badge {
	position: fixed;
	top: 72px;
	right: 1rem;
	z-index: 95;
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	text-decoration: none;
	font-size: 0.78rem;
	font-weight: 700;
	color: #0c2230;
	background: linear-gradient(135deg, #e8f6fc, #bfe6f5);
	border-radius: 999px;
	padding: 0.45rem 0.95rem;
	box-shadow: 0 8px 24px rgba(34, 191, 241, 0.35);
	animation: vlgmBadgePulse 2.6s ease-in-out infinite;
}
@keyframes vlgmBadgePulse {
	0%, 100% { transform: scale(1); }
	50% { transform: scale(1.04); }
}

/* ── Xmas Mode: γιορτινές πινελιές ── */
body.mode-xmas .site-header { border-bottom: 3px solid transparent; border-image: repeating-linear-gradient(90deg, #d23a3a 0 18px, #2e7d4f 18px 36px, #e8c34a 36px 54px) 1; }
body.mode-xmas .home-hero__dot,
body.mode-xmas .insider__dot,
body.mode-xmas .home-cats__dot { color: #d23a3a; }
body.mode-xmas .footer-peaks__msg span { color: #d23a3a; }
body.mode-xmas .open-now__pulse { background: #d23a3a; }

/* ── Easter Mode: ανοιξιάτικες πινελιές ── */
body.mode-easter .site-header { border-bottom: 3px solid transparent; border-image: repeating-linear-gradient(90deg, #e58fb1 0 18px, #9fd6a8 18px 36px, #f5d97e 36px 54px) 1; }
body.mode-easter .home-hero__dot,
body.mode-easter .insider__dot,
body.mode-easter .home-cats__dot { color: #e58fb1; }
body.mode-easter .footer-peaks__msg span { color: #e58fb1; }

/* ── Summer Mode: καλοκαιρινό βουνό ── */
body.mode-summer .home-hero__dot,
body.mode-summer .insider__dot,
body.mode-summer .home-cats__dot { color: #f0a83b; }
body.mode-summer .footer-peaks__msg span { color: #f0a83b; }

@media (prefers-reduced-motion: reduce) {
	.vlgm-snowfall { display: none; }
	.vlgm-snow-badge { animation: none; }
}
@media (max-width: 700px) {
	.vlgm-snowfall__layer--2 { display: none; } /* ελαφρύτερο σε κινητά */
	.vlgm-snow-badge { top: auto; bottom: 4.8rem; }
}

/* ═══ Insider section: PREMIUM redesign ═══ */
.insider {
	position: relative;
	overflow: hidden;
	padding: 5rem 0;
}
/* Γιγάντια νιφάδα-υδατογράφημα δεξιά */
.insider::after {
	content: "";
	position: absolute;
	right: -120px;
	top: 50%;
	transform: translateY(-50%) rotate(12deg);
	width: 460px;
	height: 460px;
	pointer-events: none;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2322bff1' stroke-width='.7' stroke-linecap='round'%3E%3Cpath d='M12 2v20M3.3 7l17.4 10M3.3 17 20.7 7M12 2 9.5 4.5M12 2l2.5 2.5M12 22l-2.5-2.5M12 22l2.5-2.5M3.3 7l.5 3.4M3.3 7 6.7 6.4M20.7 17l-3.4.6m3.4-.6-.5-3.4M3.3 17l3.4.6m-3.4-.6.5-3.4M20.7 7l-.5 3.4M20.7 7l-3.4-.6'/%3E%3C/svg%3E") no-repeat center / contain;
	opacity: 0.12;
}
.insider__grid { position: relative; z-index: 2; }
.insider__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	color: var(--star);
}
.insider__eyebrow::before {
	content: "";
	width: 26px;
	height: 2px;
	background: var(--star);
	border-radius: 2px;
}
.insider__title { font-size: clamp(1.8rem, 3.4vw, 2.6rem); }
.insider__perks { margin-top: 1.4rem; gap: 0.9rem; }
.insider__perk { font-size: 0.95rem; color: rgba(255, 255, 255, 0.82); }
.insider__perk strong { color: #fff; }
.insider__perk-icon {
	width: 36px;
	height: 36px;
	border-radius: 11px;
	background: rgba(34, 191, 241, 0.14);
	border: 1px solid rgba(255, 255, 255, 0.1);
	color: #7fd6f7;
}
.insider__perk-icon--snow { background: linear-gradient(135deg, #22bff1, #1190ba); color: #fff; border: 0; box-shadow: 0 6px 18px rgba(34, 191, 241, 0.35); }

/* Φόρμα: premium glass card */
.insider__form {
	position: relative;
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.13);
	border-radius: 22px;
	padding: 2rem;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	box-shadow: 0 30px 80px rgba(0, 0, 0, 0.35);
}
.insider__form::before {
	content: "❄ Παρνασσός Insider";
	position: absolute;
	top: -13px;
	left: 1.6rem;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	color: #0c2230;
	background: linear-gradient(135deg, #e8f6fc, #9fdef5);
	border-radius: 999px;
	padding: 0.32rem 0.85rem;
	box-shadow: 0 8px 20px rgba(34, 191, 241, 0.3);
}
.insider__fields { gap: 0.75rem; }
.insider__fields input {
	border-radius: 13px;
	border-color: rgba(255, 255, 255, 0.16);
	background: rgba(10, 16, 20, 0.35);
	padding: 0.95rem 1.1rem;
	font-size: 0.95rem;
}
.insider__fields input:focus {
	border-color: var(--star);
	box-shadow: 0 0 0 3px rgba(34, 191, 241, 0.22);
	background: rgba(10, 16, 20, 0.5);
}
.insider__btn {
	grid-column: 1 / -1;
	cursor: pointer;
	border: 0;
	border-radius: 13px;
	font: inherit;
	font-size: 1rem;
	font-weight: 800;
	letter-spacing: 0.02em;
	color: #fff;
	background: linear-gradient(135deg, #22bff1, #1190ba);
	padding: 1rem 1.4rem;
	box-shadow: 0 14px 34px rgba(34, 191, 241, 0.35);
	transition: transform 0.2s var(--ease), box-shadow 0.2s var(--ease);
}
.insider__btn:hover { transform: translateY(-2px); box-shadow: 0 18px 44px rgba(34, 191, 241, 0.45); }
.insider__btn:disabled { opacity: 0.6; transform: none; }
.insider__msg { margin: 0.7rem 0 0; text-align: center; }
@media (max-width: 900px) {
	.insider::after { width: 300px; right: -100px; opacity: 0.08; }
	.insider { padding: 3.5rem 0; }
}
.insider__fields input[type="email"] { grid-column: 1 / -1; }
/* Τίτλος insider: οι 2 γραμμές πιο κοντά */
.insider__title { line-height: 1.12; }
/* Microcopy κάτω από την Εγγραφή */
.insider__unsub {
	grid-column: 1 / -1;
	margin: 0.1rem 0 0;
	text-align: center;
	font-size: 0.74rem;
	color: rgba(255, 255, 255, 0.5);
}
/* made with ❤ by 9AM: όχι bold */
.made-by-line,
.made-by-line a { font-weight: 400; }
/* Hero «Συνθήκες βουνού»: εικονίδια χωρίς bg */
.mtn-tbl .mtn-now__icon,
.mtn-tbl .mtn-now__icon--sun,
.mtn-tbl .mtn-now__icon--snow,
.mtn-tbl .mtn-now__icon--rain,
.mtn-tbl .mtn-now__icon--storm {
	background: none;
	width: 34px;
	height: 34px;
}
/* Κάρτες places: χωρίς rating badge πάνω δεξιά */
.place-card__rating { display: none; }

/* ═══ MOBILE FIXES (post-launch) ═══ */

/* 1) Χάρτης mobile: panel ως slide-up sheet, ο χάρτης ορατός από πίσω */
@media (max-width: 700px) {
	.bigmap__fs { display: none; } /* χωρίς πλήρη οθόνη στο κινητό */
	.bigmap__layer { bottom: auto; top: 1rem; right: 1rem; left: auto; }
}

/* 2) Σελίδα περιοχής: 2 places ανά γραμμή στο κινητό */
@media (max-width: 700px) {
	.places-grid--loc { grid-template-columns: 1fr 1fr; gap: 0.7rem; }
	.places-grid--loc .place-card__body { padding: 0.8rem 0.85rem 0.9rem; }
	.places-grid--loc .place-card__title { font-size: 0.92rem; }
}

/* 3) Single place: οι φωτογραφίες να ΜΗΝ καβαλάνε το κείμενο (iOS aspect-ratio/height clash) */
@media (max-width: 782px) {
	.place__gallery-img { height: auto; }
	.place__gallery,
	.place__gallery.has-thumbs { display: block; }
	.place__gallery-thumbs { margin-top: 0.75rem; }
}

/* 4) Footer accordion (κινητό μόνο) */
@media (max-width: 782px) {
	.footer-col:not(.footer-col--brand) .footer-col__title {
		cursor: pointer;
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin-bottom: 0;
		padding: 0.7rem 0;
		border-bottom: 1px solid var(--line);
	}
	.footer-col:not(.footer-col--brand) .footer-col__title::after {
		content: "+";
		font-size: 1.2rem;
		font-weight: 400;
		color: var(--star);
		transition: transform 0.25s var(--ease);
	}
	.footer-col.open .footer-col__title::after { content: "−"; }
	.footer-col:not(.footer-col--brand) ul {
		max-height: 0;
		overflow: hidden;
		transition: max-height 0.35s var(--ease);
		margin: 0;
	}
	.footer-col.open ul { max-height: 500px; padding: 0.6rem 0; }
	.footer-grid { gap: 0; }
	.footer-col--brand { margin-bottom: 1.2rem; }
}

/* Hero mobile: αέρας κάτω από το «Πάνω απ' όλα» (να μην κολλάει το υψόμετρο στα CTAs) */
@media (max-width: 700px) {
	.home-hero__title { margin-bottom: 2.4rem; }
}
@media (max-width: 700px) {
	.home-hero__altitude { margin-top: 5px; }
}


/* ── Χάρτης: panel ως αριστερό drawer πίσω από κουμπί «Places» ── */
.bigmap__places-btn {
	position: absolute;
	top: 1rem;
	left: 1rem;
	z-index: 1001;
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	cursor: pointer;
	font: inherit;
	font-size: 0.95rem;
	font-weight: 700;
	color: #fff;
	background: var(--star);
	border: 0;
	border-radius: 999px;
	padding: 0.7rem 1.4rem;
	box-shadow: 0 10px 30px rgba(34, 191, 241, 0.45);
	transition: transform 0.2s var(--ease);
}
.bigmap__places-btn:hover { transform: translateY(-2px); }
.bigmap__panel {
	top: 0;
	bottom: 0;
	left: 0;
	margin: 0;
	max-width: min(400px, 88vw);
	width: min(400px, 88vw);
	max-height: none;
	border-radius: 0 20px 20px 0;
	display: flex;
	flex-direction: column;
	transform: translateX(calc(-100% - 2rem));
	transition: transform 0.4s cubic-bezier(0.2, 1, 0.3, 1);
	z-index: 1002;
}
.bigmap__panel.is-in { transform: translateX(0); }
.bigmap__panel .bigmap__list { flex: 1; max-height: none; }
.bigmap__close {
	position: absolute;
	top: 0.8rem;
	right: 0.8rem;
	display: inline-flex;
	cursor: pointer;
	border: 0;
	background: var(--bg);
	color: var(--ink-soft);
	border-radius: 50%;
	width: 32px;
	height: 32px;
	align-items: center;
	justify-content: center;
}
.bigmap__close:hover { color: var(--star); }
.bigmap__head { padding-right: 2.2rem; }

/* ============================================================
   Banners (admin-managed positions)
   - Πραγματικές διαστάσεις (IAB standards) - όχι stretching.
   - Compact spacing: 1rem above/below.
   ============================================================ */
.vlgm-banner {
	display: flex;
	justify-content: center;
	margin: 1rem auto;
	padding: 0 1rem;
}
.vlgm-banner__pic,
.vlgm-banner__link {
	display: inline-block;
	line-height: 0;
	max-width: 100%;
}
.vlgm-banner__img {
	display: block;
	max-width: 100%;
	height: auto;
}
.vlgm-banner__empty {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: .3rem;
	width: var(--vbw-d, 728px);
	height: var(--vbh-d, 90px);
	max-width: 100%;
	background: repeating-linear-gradient(45deg, #f5f5f5, #f5f5f5 10px, #fafafa 10px, #fafafa 20px);
	border: 2px dashed #d0d0d0;
	border-radius: 6px;
	color: #888;
	font-family: 'Inter', sans-serif;
	letter-spacing: .08em;
	cursor: pointer;
	transition: border-color .2s, color .2s, background .2s;
	padding: .5rem;
}
.vlgm-banner__empty:hover,
.vlgm-banner__empty:focus-visible {
	border-color: var(--star, #22bff1);
	color: var(--star, #22bff1);
	background: #fff;
	outline: none;
}
.vlgm-banner__empty-text {
	font-weight: 600;
	font-size: clamp(.7rem, 1.4vw, 1rem);
	text-transform: uppercase;
}
.vlgm-banner__empty-dims {
	font-size: .65rem;
	opacity: .55;
	font-variant-numeric: tabular-nums;
	text-transform: uppercase;
}
@media (max-width: 767px) {
	.vlgm-banner__empty {
		width: 100%;
		max-width: 360px;
		height: 72px;
	}
	.vlgm-banner__empty-dims { display: none; }
}

/* Banner Leads modal */
.vlgm-bl-modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 1rem;
}
.vlgm-bl-modal.is-open { display: flex; }
.vlgm-bl-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 20, 25, .55);
	backdrop-filter: blur(2px);
}
.vlgm-bl-modal__panel {
	position: relative;
	background: #fff;
	border-radius: 14px;
	box-shadow: 0 20px 60px rgba(0,0,0,.25);
	width: 100%;
	max-width: 460px;
	padding: 1.75rem 1.5rem 1.5rem;
	max-height: 90vh;
	overflow-y: auto;
}
.vlgm-bl-modal__close {
	position: absolute;
	top: .5rem;
	right: .75rem;
	width: 2rem;
	height: 2rem;
	border: 0;
	background: transparent;
	font-size: 1.5rem;
	line-height: 1;
	color: #888;
	cursor: pointer;
	border-radius: 50%;
}
.vlgm-bl-modal__close:hover { color: #222; background: #f5f5f5; }
.vlgm-bl-modal__title {
	margin: 0 0 .35rem;
	font-family: 'Roboto', sans-serif;
	font-size: 1.4rem;
}
.vlgm-bl-modal__intro {
	margin: 0 0 1.1rem;
	font-size: .9rem;
	color: #555;
}
.vlgm-bl-form { display: flex; flex-direction: column; gap: .75rem; }
.vlgm-bl-field { display: flex; flex-direction: column; gap: .25rem; font-size: .85rem; }
.vlgm-bl-field span { font-weight: 600; color: #333; }
.vlgm-bl-field input,
.vlgm-bl-field textarea {
	font: inherit;
	padding: .55rem .7rem;
	border: 1px solid #d4d4d4;
	border-radius: 8px;
	background: #fff;
	width: 100%;
	box-sizing: border-box;
}
.vlgm-bl-field input:focus,
.vlgm-bl-field textarea:focus {
	border-color: var(--star, #22bff1);
	outline: none;
	box-shadow: 0 0 0 3px rgba(34, 191, 241, .15);
}
.vlgm-bl-hp { position: absolute; left: -9999px; }
.vlgm-bl-msg { margin: 0; font-size: .85rem; min-height: 1.2em; }
.vlgm-bl-msg.is-success { color: #1f8a3f; }
.vlgm-bl-msg.is-error   { color: #c0392b; }
.vlgm-bl-submit {
	font: inherit;
	font-weight: 600;
	background: var(--star, #22bff1);
	color: #fff;
	border: 0;
	padding: .7rem 1.2rem;
	border-radius: 8px;
	cursor: pointer;
	transition: background .2s, transform .1s;
}
.vlgm-bl-submit:hover { background: #1ba8d6; }
.vlgm-bl-submit:active { transform: scale(.98); }

/* ============================================================
   Advertise page
   ============================================================ */
.adv-hero {
	background: linear-gradient(160deg, #142c39 0%, #1b3a4b 60%, #22485d 100%);
	color: #f4f1ea;
	padding: 4rem 0 3rem;
	text-align: center;
}
.adv-hero__eyebrow {
	letter-spacing: .15em;
	text-transform: uppercase;
	font-size: .8rem;
	opacity: .8;
	margin: 0 0 .5rem;
}
.adv-hero__title {
	font-family: 'Roboto', sans-serif;
	font-size: clamp(1.8rem, 4vw, 2.8rem);
	margin: 0 0 1rem;
	line-height: 1.15;
}
.adv-hero__title em { font-style: italic; color: var(--star, #22bff1); }
.adv-hero__dot { color: var(--star, #22bff1); }
.adv-hero__lede { font-size: 1rem; opacity: .9; max-width: 38rem; margin: 0 auto; }

.adv-container { padding: 3rem 1rem 4rem; }

.adv-product {
	margin: 0 0 4rem;
}
.adv-product__head {
	display: flex;
	gap: 1rem;
	align-items: flex-start;
	margin: 0 0 1.5rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid #e6e6e6;
}
.adv-product__num {
	font-family: 'Roboto', sans-serif;
	font-size: 2.2rem;
	color: var(--star, #22bff1);
	line-height: 1;
	font-style: italic;
}
.adv-product__title {
	font-family: 'Roboto', sans-serif;
	font-size: 1.7rem;
	margin: 0 0 .35rem;
}
.adv-product__sub { color: #555; margin: 0; font-size: .95rem; }

.adv-positions {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 1rem;
}
.adv-positions--3 { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.adv-position {
	background: #fafafa;
	border: 1px solid #e6e6e6;
	border-radius: 10px;
	padding: 1.1rem 1.2rem;
}
.adv-position__head {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: .75rem;
	margin: 0 0 .5rem;
}
.adv-position__title {
	font-size: 1rem;
	margin: 0;
	color: #222;
}
.adv-position__where { color: #555; font-size: .88rem; line-height: 1.45; margin: 0 0 .8rem; }
.adv-position__specs {
	display: flex;
	gap: 1rem;
	margin: 0;
	padding-top: .6rem;
	border-top: 1px dashed #d4d4d4;
	font-size: .8rem;
}
.adv-position__specs > div { flex: 1; }
.adv-position__specs dt { color: #888; text-transform: uppercase; letter-spacing: .05em; font-size: .7rem; margin: 0 0 .15rem; }
.adv-position__specs dd { margin: 0; color: #333; }

.adv-card--single {
	background: #fafafa;
	border: 1px solid #e6e6e6;
	border-radius: 12px;
	padding: 1.5rem;
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 2rem;
	align-items: center;
}
@media (max-width: 600px) {
	.adv-card--single { grid-template-columns: 1fr; gap: 1rem; }
}
.adv-bullets {
	list-style: none;
	padding: 0;
	margin: 0;
}
.adv-bullets li {
	position: relative;
	padding: .4rem 0 .4rem 1.5rem;
	font-size: .95rem;
}
.adv-bullets li::before {
	content: '✓';
	position: absolute;
	left: 0;
	top: .4rem;
	color: var(--star, #22bff1);
	font-weight: 700;
}

.adv-price {
	font-family: 'Roboto', sans-serif;
	font-size: 1.3rem;
	color: #222;
	white-space: nowrap;
	display: inline-block;
}
.adv-price small { font-size: .65rem; color: #888; font-family: 'Inter', sans-serif; text-transform: uppercase; letter-spacing: .05em; }
.adv-price--tbd { color: #888; font-style: italic; }
.adv-card__price { text-align: right; }

/* Form */
.adv-form-section {
	background: #f4f1ea;
	margin: 4rem -1rem 0;
	padding: 3rem 1rem;
	border-radius: 16px;
}
.adv-form-wrap { max-width: 720px; margin: 0 auto; }
.adv-form__title {
	font-family: 'Roboto', sans-serif;
	font-size: 1.8rem;
	margin: 0 0 .5rem;
	text-align: center;
}
.adv-form__intro {
	text-align: center;
	color: #555;
	margin: 0 0 2rem;
}
.adv-form__products {
	border: 0;
	padding: 0;
	margin: 0 0 1.5rem;
}
.adv-form__products legend {
	font-weight: 600;
	font-size: 1rem;
	margin: 0 0 .75rem;
	color: #333;
}
.adv-prod-group {
	background: #fff;
	border: 1px solid #e0d9c8;
	border-radius: 10px;
	margin: 0 0 .6rem;
	padding: .8rem 1rem;
}
.adv-prod-group summary {
	cursor: pointer;
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: .95rem;
}
.adv-prod-group summary::-webkit-details-marker { display: none; }
.adv-prod-group summary::after {
	content: '▾';
	color: #888;
	transition: transform .2s;
}
.adv-prod-group[open] summary::after { transform: rotate(180deg); }
.adv-prod-list { margin-top: .8rem; display: flex; flex-direction: column; gap: .35rem; }
.adv-check {
	display: flex;
	align-items: flex-start;
	gap: .55rem;
	cursor: pointer;
	font-size: .9rem;
	padding: .3rem 0;
}
.adv-check input[type="checkbox"] { margin-top: .15rem; cursor: pointer; }

.adv-form__fields {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
	margin: 0 0 1.5rem;
}
@media (max-width: 600px) { .adv-form__fields { grid-template-columns: 1fr; } }
.adv-field { display: flex; flex-direction: column; gap: .3rem; font-size: .9rem; }
.adv-field--full { grid-column: 1 / -1; }
.adv-field span { font-weight: 600; color: #333; }
.adv-field input,
.adv-field textarea {
	font: inherit;
	padding: .65rem .8rem;
	border: 1px solid #d4d4d4;
	border-radius: 8px;
	background: #fff;
	width: 100%;
	box-sizing: border-box;
}
.adv-field input:focus,
.adv-field textarea:focus {
	border-color: var(--star, #22bff1);
	outline: none;
	box-shadow: 0 0 0 3px rgba(34, 191, 241, .15);
}

.adv-form__msg { margin: 0 0 .75rem; min-height: 1.2em; font-size: .9rem; text-align: center; }
.adv-form__msg.is-success { color: #1f8a3f; font-weight: 600; }
.adv-form__msg.is-error   { color: #c0392b; }

.adv-form__actions {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
}
.adv-form__submit {
	font: inherit;
	font-size: 1.05rem;
	font-weight: 600;
	background: #142c39;
	color: #fff;
	border: 0;
	padding: .9rem 2.5rem;
	border-radius: 50px;
	cursor: pointer;
	transition: background .2s, transform .1s;
}
.adv-form__submit:hover { background: var(--star, #22bff1); }
.adv-form__submit:active { transform: scale(.98); }
.adv-form__privacy { font-size: .8rem; color: #777; text-align: center; max-width: 36rem; margin: 0; line-height: 1.5; }

/* Advertise — Tabs (medium-large, κεντραρισμένα) */
.adv-tabs {
	display: flex;
	gap: .25rem;
	margin: 0 auto 2.5rem;
	border-bottom: 2px solid #e6e6e6;
	flex-wrap: wrap;
	justify-content: center;
}
.adv-tab {
	font: inherit;
	background: transparent;
	border: 0;
	padding: 1.1rem 1.5rem 1rem;
	cursor: pointer;
	color: #888;
	display: flex;
	align-items: baseline;
	gap: .55rem;
	border-bottom: 3px solid transparent;
	margin-bottom: -2px;
	transition: color .2s, border-color .2s;
}
.adv-tab:hover { color: #222; }
.adv-tab.is-active {
	color: #142c39;
	border-bottom-color: var(--star, #22bff1);
}
.adv-tab__num {
	font-family: 'Roboto', sans-serif;
	font-style: italic;
	font-size: 1.25rem;
	color: var(--star, #22bff1);
	font-weight: 500;
}
.adv-tab__label { font-weight: 500; font-size: 1.25rem; letter-spacing: .01em; }
@media (max-width: 600px) {
	.adv-tabs { gap: 0; }
	.adv-tab { flex: 1; justify-content: center; padding: .8rem .4rem; gap: .35rem; }
	.adv-tab__num { display: none; }
	.adv-tab__label { font-size: .95rem; }
}

.adv-panel { animation: advFadeIn .25s ease-out; }
.adv-panel[hidden] { display: none; }
.adv-panel__sub {
	color: #555;
	font-size: 1rem;
	line-height: 1.55;
	margin: 0 0 1.5rem;
	max-width: 50rem;
}
@keyframes advFadeIn {
	from { opacity: 0; transform: translateY(8px); }
	to   { opacity: 1; transform: none; }
}

/* Flash όταν προστίθεται checkbox από click στις τιμές */
@keyframes advCheckFlash {
	0%, 100% { background: transparent; }
	30%      { background: rgba(34, 191, 241, .25); }
}
.adv-check__flash { animation: advCheckFlash 1.5s ease; border-radius: 6px; }

/* Advertise — Panel head (κοινό) */
.adv-panel__head { margin: 0 0 2rem; }
.adv-panel__h {
	font-family: 'Roboto', sans-serif;
	font-size: clamp(1.4rem, 3vw, 2rem);
	margin: 0 0 .5rem;
	color: #142c39;
}

/* Banners table */
.adv-tbl-wrap {
	background: #fff;
	border: 1px solid #e6e6e6;
	border-radius: 12px;
	overflow: hidden;
}
.adv-tbl {
	width: 100%;
	border-collapse: collapse;
	font-size: .95rem;
}
.adv-tbl thead { background: #f7f5ef; }
.adv-tbl th {
	text-align: left;
	font-weight: 600;
	font-size: .78rem;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: #666;
	padding: .9rem 1.1rem;
	border-bottom: 1px solid #e6e6e6;
}
.adv-tbl__right { text-align: right; }
.adv-tbl td {
	padding: 1rem 1.1rem;
	border-bottom: 1px solid #f0eee8;
	vertical-align: top;
	line-height: 1.5;
}
.adv-tbl tbody tr:last-child td { border-bottom: 0; }
.adv-tbl tbody tr:hover { background: #fcfbf7; }
.adv-tbl__badge {
	display: inline-block;
	margin-top: .35rem;
	font-size: .68rem;
	letter-spacing: .06em;
	text-transform: uppercase;
	background: #142c39;
	color: #fff;
	padding: .15rem .5rem;
	border-radius: 4px;
	font-weight: 600;
}
.adv-tbl__where { color: #555; font-size: .9rem; }
.adv-tbl__dims { font-size: .85rem; }
.adv-tbl__dims > span { display: block; padding: .15rem 0; }
.adv-tbl__dimlabel { color: #888; font-size: .7rem; text-transform: uppercase; letter-spacing: .05em; margin-right: .4rem; }
.adv-tbl__dims code {
	background: #f4f1ea;
	padding: .1rem .4rem;
	border-radius: 4px;
	font-size: .82rem;
	color: #333;
}
.adv-tbl__price { white-space: nowrap; }

/* Banners table responsive: rows → cards */
@media (max-width: 720px) {
	.adv-tbl thead { display: none; }
	.adv-tbl, .adv-tbl tbody, .adv-tbl tr, .adv-tbl td { display: block; width: 100%; }
	.adv-tbl tr {
		border-bottom: 1px solid #e6e6e6;
		padding: 1rem 0;
	}
	.adv-tbl tr:last-child { border-bottom: 0; }
	.adv-tbl td {
		padding: .35rem 1.1rem;
		border: 0;
		text-align: left !important;
	}
	.adv-tbl td::before {
		content: attr(data-label);
		display: block;
		font-size: .65rem;
		text-transform: uppercase;
		letter-spacing: .05em;
		color: #888;
		margin-bottom: .1rem;
	}
	.adv-tbl td[data-label="Θέση"]::before { display: none; }
	.adv-tbl__price { padding-top: .7rem !important; }
}

/* Hero band (Premium / Sponsored) */
.adv-hero-band {
	background: linear-gradient(135deg, #142c39 0%, #1e4a5f 100%);
	color: #f4f1ea;
	border-radius: 14px;
	padding: 1.75rem 2rem;
	display: flex;
	gap: 2rem;
	align-items: center;
	justify-content: space-between;
	margin: 0 0 2rem;
	flex-wrap: wrap;
}
.adv-hero-band__main { flex: 1 1 280px; }
.adv-hero-band__h {
	font-family: 'Roboto', sans-serif;
	font-size: 1.7rem;
	margin: 0 0 .4rem;
}
.adv-hero-band__sub { margin: 0; opacity: .9; font-size: .95rem; line-height: 1.5; }
.adv-hero-band__price {
	text-align: right;
	display: flex;
	flex-direction: column;
	gap: .25rem;
	align-items: flex-end;
}
.adv-hero-band__eyebrow {
	font-size: .7rem;
	text-transform: uppercase;
	letter-spacing: .1em;
	opacity: .7;
}
.adv-hero-band .adv-price {
	color: #fff;
	font-size: 1.6rem;
}
.adv-hero-band .adv-price small { color: #b8c5cd; }
.adv-hero-band .adv-price--tbd { color: #fff; opacity: .85; }
.adv-hero-band .adv-price:hover { color: var(--star, #22bff1); }
@media (max-width: 600px) {
	.adv-hero-band { padding: 1.5rem; }
	.adv-hero-band__price { align-items: flex-start; text-align: left; }
}

/* Premium — features grid */
.adv-features {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 1rem;
}
.adv-feature {
	background: #fff;
	border: 1px solid #e6e6e6;
	border-radius: 12px;
	padding: 1.3rem;
	transition: transform .2s, border-color .2s;
}
.adv-feature:hover {
	transform: translateY(-2px);
	border-color: var(--star, #22bff1);
}
.adv-feature__icon {
	display: inline-flex;
	width: 44px;
	height: 44px;
	border-radius: 10px;
	background: rgba(34, 191, 241, .12);
	color: var(--star, #22bff1);
	align-items: center;
	justify-content: center;
	margin: 0 0 .9rem;
}
.adv-feature__title { font-size: 1rem; margin: 0 0 .35rem; color: #222; }
.adv-feature__desc { margin: 0; font-size: .88rem; line-height: 1.5; color: #555; }

/* Sponsored layout */
.adv-sponsored-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2rem;
	align-items: start;
}
@media (max-width: 800px) { .adv-sponsored-grid { grid-template-columns: 1fr; } }
.adv-sponsored-stats { display: flex; flex-direction: column; gap: 1rem; }
.adv-stat {
	background: #fafafa;
	border: 1px solid #e6e6e6;
	border-left: 4px solid var(--star, #22bff1);
	border-radius: 8px;
	padding: 1rem 1.2rem;
}
.adv-stat__num {
	font-family: 'Roboto', sans-serif;
	font-size: 2.2rem;
	color: #142c39;
	line-height: 1;
	display: inline-block;
}
.adv-stat__num small { font-size: 1.3rem; opacity: .5; }
.adv-stat__label {
	display: block;
	font-weight: 600;
	color: #222;
	margin: .3rem 0 .2rem;
	font-size: .95rem;
}
.adv-stat__hint { margin: 0; font-size: .85rem; color: #666; line-height: 1.45; }

/* Sponsored mockup */
.adv-mockup {
	background: #fafafa;
	border-radius: 12px;
	padding: 1.25rem;
	display: flex;
	flex-direction: column;
	gap: .75rem;
}
.adv-mockup__card {
	background: #fff;
	border: 1px solid #e6e6e6;
	border-radius: 8px;
	padding: .65rem .85rem;
	display: grid;
	grid-template-columns: 56px 1fr;
	gap: .75rem;
	align-items: center;
	position: relative;
}
.adv-mockup__card--sponsored { border-color: var(--star, #22bff1); box-shadow: 0 2px 12px rgba(34, 191, 241, .15); }
.adv-mockup__card--dim { opacity: .35; }
.adv-mockup__badge {
	position: absolute;
	top: .35rem;
	right: .5rem;
	font-size: .6rem;
	background: var(--star, #22bff1);
	color: #fff;
	padding: .1rem .4rem;
	border-radius: 3px;
	text-transform: uppercase;
	letter-spacing: .05em;
	font-weight: 600;
}
.adv-mockup__img {
	width: 56px;
	height: 42px;
	background: linear-gradient(135deg, #e0d9c8, #c4baa0);
	border-radius: 4px;
}
.adv-mockup__card--sponsored .adv-mockup__img { background: linear-gradient(135deg, #22bff1, #1ba8d6); }
.adv-mockup__title {
	height: 12px;
	background: #e0e0e0;
	border-radius: 3px;
	width: 70%;
}

/* Interactive */
.adv-int-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 1rem;
}
.adv-int-card {
	background: #fff;
	border: 1px solid #e6e6e6;
	border-radius: 14px;
	padding: 1.4rem;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	transition: transform .2s, border-color .2s;
}
.adv-int-card:hover {
	transform: translateY(-2px);
	border-color: var(--star, #22bff1);
}
.adv-int-card__pos {
	display: flex;
	align-items: baseline;
	gap: .5rem;
}
.adv-int-card__eyebrow {
	font-size: .7rem;
	text-transform: uppercase;
	letter-spacing: .1em;
	color: #888;
}
.adv-int-card__num {
	font-family: 'Roboto', sans-serif;
	font-size: 2.6rem;
	color: var(--star, #22bff1);
	line-height: 1;
}
.adv-int-card__body { flex: 1; }
.adv-int-card__desc { margin: 0 0 .8rem; font-size: .9rem; color: #555; line-height: 1.5; }
.adv-int-card__reach { font-size: .85rem; }
.adv-int-card__reach-label { display: block; margin-bottom: .35rem; color: #444; }
.adv-int-card__bar {
	display: block;
	height: 6px;
	background: #f0eee8;
	border-radius: 3px;
	overflow: hidden;
}
.adv-int-card__bar-fill {
	display: block;
	height: 100%;
	background: linear-gradient(90deg, var(--star, #22bff1), #1ba8d6);
	border-radius: 3px;
}
.adv-int-card__price {
	padding-top: .8rem;
	border-top: 1px dashed #e0d9c8;
	text-align: right;
}

/* Advertise — Interactive examples */
.adv-int-examples {
	margin-top: 3rem;
	padding-top: 2rem;
	border-top: 1px solid #e6e6e6;
}
.adv-int-examples__h {
	font-family: 'Roboto', sans-serif;
	font-size: 1.3rem;
	margin: 0 0 .3rem;
	color: #142c39;
}
.adv-int-examples__sub {
	margin: 0 0 1.5rem;
	color: #555;
	font-size: .92rem;
}
.adv-int-examples__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 1.25rem;
}

/* Founding Supporters link στο hero - μπεζ για visibility */
.adv-hero__lede a {
	color: #f4c542;
	text-decoration: none;
	border-bottom: 1px dashed currentColor;
	padding-bottom: 1px;
	transition: color .2s, border-bottom-style .2s;
}
.adv-hero__lede a:hover {
	color: #ffd76b;
	border-bottom-style: solid;
}
.adv-hero__lede a strong { color: inherit; }

/* Top bar (πάνω από το main header) */
.topbar {
	background: #142c39;
	color: #d4cfc1;
	font-size: .8rem;
	border-bottom: 1px solid rgba(255,255,255,.06);
}
.topbar__inner {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 1.5rem;
	padding: .55rem 1rem;
}
.topbar__link {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	color: #d4cfc1;
	text-decoration: none;
	letter-spacing: .02em;
	transition: color .2s;
}
.topbar__link:hover { color: #f4c542; }
.topbar__link svg { opacity: .8; }

/* Social + search εικονίδια στο top bar */
.topbar__icons {
	display: inline-flex;
	align-items: center;
	gap: .25rem;
	margin-left: .25rem;
	padding-left: 1rem;
	border-left: 1px solid rgba(255,255,255,.1);
}
.topbar__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px; height: 34px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: #d4cfc1;
	cursor: pointer;
	transition: color .2s, background .2s;
}
.topbar__icon svg { width: 17px; height: 17px; }
.topbar__icon:hover { background: rgba(255,255,255,.08); color: #fff; }
.topbar__icon--instagram:hover { color: #ffd76b; }
.topbar__icon--whatsapp:hover  { color: #25d366; }

@media (max-width: 500px) {
	.topbar__inner { justify-content: center; gap: 1rem; flex-wrap: wrap; }
	.topbar__icons { margin-left: 0; padding-left: .85rem; }
}

/* Mobile: WhatsApp + topbar search φεύγουν — η αναζήτηση πάει δίπλα στο burger */
@media (max-width: 1080px) {
	.topbar__icon--whatsapp,
	.topbar__icon--search { display: none; }
	.topbar__icons { padding-left: .6rem; gap: 0; }
}

/* Mobile-only search button δίπλα στο burger */
.nav-search { display: none; }
@media (max-width: 1080px) {
	.nav-search {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 40px; height: 40px;
		padding: 0;
		margin-left: auto;
		margin-right: -1.4rem;
		cursor: pointer;
		border: 0;
		background: none;
		color: var(--ink);
		border-radius: 50%;
		transition: background .2s;
	}
	.nav-search:hover { background: rgba(0,0,0,.05); }
}

/* ============================================================
   Advertise — Why band (trust signals) + FAQ
   ============================================================ */
.adv-why {
	background: #f7f5ef;
	padding: 2.5rem 0;
	border-bottom: 1px solid #e6e6e6;
}
.adv-why__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 1.5rem;
}
.adv-why__item { text-align: left; }
.adv-why__icon {
	display: inline-flex;
	width: 42px;
	height: 42px;
	border-radius: 10px;
	background: #fff;
	border: 1px solid #e0d9c8;
	color: var(--star, #22bff1);
	align-items: center;
	justify-content: center;
	margin: 0 0 .7rem;
}
.adv-why__h {
	font-size: 1rem;
	margin: 0 0 .3rem;
	color: #142c39;
}
.adv-why__item p {
	margin: 0;
	font-size: .85rem;
	color: #555;
	line-height: 1.5;
}

/* FAQ */
.adv-faq {
	margin: 4rem 0 0;
	padding-top: 3rem;
	border-top: 1px solid #e6e6e6;
}
.adv-faq__h {
	font-family: 'Roboto', sans-serif;
	font-size: 1.6rem;
	margin: 0 0 1.5rem;
	color: #142c39;
}
.adv-faq__list { display: flex; flex-direction: column; gap: .5rem; }
.adv-faq__item {
	background: #fff;
	border: 1px solid #e6e6e6;
	border-radius: 10px;
	padding: 1rem 1.3rem;
	transition: border-color .2s, box-shadow .2s;
}
.adv-faq__item[open] {
	border-color: var(--star, #22bff1);
	box-shadow: 0 4px 14px rgba(34, 191, 241, .08);
}
.adv-faq__item summary {
	cursor: pointer;
	font-weight: 600;
	font-size: 1rem;
	color: #222;
	display: flex;
	justify-content: space-between;
	align-items: center;
	list-style: none;
}
.adv-faq__item summary::-webkit-details-marker { display: none; }
.adv-faq__item summary::after {
	content: '+';
	color: var(--star, #22bff1);
	font-size: 1.4rem;
	font-weight: 300;
	transition: transform .2s;
}
.adv-faq__item[open] summary::after { content: '−'; }
.adv-faq__item p {
	margin: .8rem 0 0;
	color: #555;
	font-size: .92rem;
	line-height: 1.6;
}
.adv-faq__item a { color: var(--star, #22bff1); text-decoration: none; border-bottom: 1px solid currentColor; }
.adv-faq__item a:hover { color: #1ba8d6; }

/* ============================================================
   Parea (Supporters) page
   ============================================================ */
.parea-hero {
	background: linear-gradient(160deg, #142c39 0%, #1b3a4b 60%, #22485d 100%);
	color: #f4f1ea;
	padding: 4rem 0 3rem;
	text-align: center;
}
.parea-hero__eyebrow {
	letter-spacing: .15em;
	text-transform: uppercase;
	font-size: .8rem;
	opacity: .8;
	margin: 0 0 .5rem;
}
.parea-hero__title {
	font-family: 'Roboto', sans-serif;
	font-size: clamp(2rem, 4vw, 3rem);
	margin: 0 0 1rem;
	line-height: 1.1;
}
.parea-hero__title em { font-style: italic; color: var(--star, #22bff1); }
.parea-hero__dot { color: var(--star, #22bff1); }
.parea-hero__lede {
	max-width: 38rem;
	margin: 0 auto;
	opacity: .9;
	line-height: 1.55;
}
.parea-hero__lede a, .parea-hero__lede strong { color: #fff; }

.parea-container { padding: 3rem 1rem 4rem; }

/* Empty state */
.parea-empty {
	text-align: center;
	padding: 3rem 1rem;
	max-width: 36rem;
	margin: 0 auto;
	background: #f7f5ef;
	border-radius: 14px;
	color: #555;
}
.parea-empty svg { color: var(--star, #22bff1); margin-bottom: .8rem; }
.parea-empty h2 {
	font-family: 'Roboto', sans-serif;
	font-size: 1.5rem;
	margin: 0 0 .5rem;
	color: #142c39;
}
.parea-empty p { margin: 0 0 1.2rem; }
.parea-empty__cta {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	background: var(--star, #22bff1);
	color: #fff;
	padding: .65rem 1.3rem;
	border-radius: 50px;
	text-decoration: none;
	font-weight: 600;
	transition: background .2s;
}
.parea-empty__cta:hover { background: #1ba8d6; }

/* Year sections */
.parea-year { margin: 0 0 3.5rem; }
.parea-year__head {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 1rem;
	margin: 0 0 1.5rem;
	padding-bottom: 1rem;
	border-bottom: 2px solid #e6e6e6;
	flex-wrap: wrap;
}
.parea-year__badge {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	background: linear-gradient(135deg, #d4a017, #f4c542);
	color: #fff;
	padding: .25rem .7rem;
	border-radius: 30px;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
	margin-bottom: .4rem;
}
.parea-year--founding .parea-year__head { border-bottom-color: #f4c542; }
.parea-year__title {
	font-family: 'Roboto', sans-serif;
	font-size: 1.5rem;
	margin: 0;
	color: #142c39;
}
.parea-year__count {
	color: #888;
	font-size: .85rem;
}

/* Logos grid */
.parea-logos {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 1.2rem;
}
.parea-logo {
	background: #fff;
	border: 1px solid #e6e6e6;
	border-radius: 12px;
	padding: 1.5rem 1rem 1rem;
	text-align: center;
	transition: transform .2s, border-color .2s, box-shadow .2s;
	display: flex;
	flex-direction: column;
	gap: .7rem;
	min-height: 140px;
	justify-content: center;
}
.parea-logo:hover {
	transform: translateY(-3px);
	border-color: var(--star, #22bff1);
	box-shadow: 0 6px 20px rgba(0, 0, 0, .06);
}
.parea-logo--premium { border-top: 3px solid #f4c542; }
.parea-logo__link, .parea-logo__img { display: block; line-height: 0; }
.parea-logo__img {
	max-width: 100%;
	max-height: 60px;
	width: auto;
	margin: 0 auto;
	object-fit: contain;
	transition: transform .3s;
}
.parea-logo:hover .parea-logo__img { transform: scale(1.05); }
.parea-logo__desc {
	font-size: .75rem;
	color: #777;
	line-height: 1.45;
	margin-top: .2rem;
	font-weight: 400;
}
.parea-logo__name {
	font-size: .85rem;
	color: #222;
	font-weight: 600;
	letter-spacing: .01em;
}

/* CTA at end */
.parea-cta {
	text-align: center;
	margin: 4rem 0 0;
	padding: 2.5rem 1.5rem;
	background: #f7f5ef;
	border-radius: 14px;
}
.parea-cta__h {
	font-family: 'Roboto', sans-serif;
	font-size: 1.4rem;
	margin: 0 0 .4rem;
	color: #142c39;
}
.parea-cta__p { margin: 0 0 1.2rem; color: #555; }
.parea-cta__btn {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	background: #142c39;
	color: #fff;
	padding: .75rem 1.5rem;
	border-radius: 50px;
	text-decoration: none;
	font-weight: 600;
	transition: background .2s;
}
.parea-cta__btn:hover { background: var(--star, #22bff1); }

/* Advertise — Premium Δωρεάν vs Premium comparison */
.adv-compare {
	background: #fff;
	border: 1px solid #e6e6e6;
	border-radius: 12px;
	overflow: hidden;
}
.adv-compare__head,
.adv-compare__row {
	display: grid;
	grid-template-columns: 1.6fr 1fr 1.2fr;
	gap: 0;
	border-bottom: 1px solid #f0eee8;
}
.adv-compare__head {
	background: #f7f5ef;
	font-size: .9rem;
}
.adv-compare__head > div {
	padding: 1rem 1.2rem;
	font-weight: 600;
	color: #142c39;
}
.adv-compare__head small {
	display: block;
	font-weight: 400;
	color: #888;
	font-size: .72rem;
	margin-top: .15rem;
}
.adv-compare__prem-h {
	background: rgba(34, 191, 241, .08);
	color: var(--star, #22bff1) !important;
}
.adv-compare__row {
	font-size: .9rem;
	transition: background .15s;
}
.adv-compare__row:hover { background: #fcfbf7; }
.adv-compare__row:last-child { border-bottom: 0; }
.adv-compare__row > div {
	padding: .9rem 1.2rem;
	line-height: 1.5;
}
.adv-compare__feat { font-weight: 600; color: #222; }
.adv-compare__free { color: #888; }
.adv-compare__prem {
	background: rgba(34, 191, 241, .04);
	color: #222;
	display: flex;
	gap: .55rem;
	align-items: flex-start;
}
.adv-compare__yes {
	display: inline-flex;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: var(--star, #22bff1);
	color: #fff;
	align-items: center;
	justify-content: center;
	font-size: .7rem;
	font-weight: 700;
	flex-shrink: 0;
	margin-top: .15rem;
}
.adv-compare__no { color: #c4c4c4; font-size: 1.1rem; }
.adv-compare__txt { flex: 1; }

@media (max-width: 700px) {
	.adv-compare__head { display: none; }
	.adv-compare__row {
		grid-template-columns: 1fr;
		padding: .6rem 0;
	}
	.adv-compare__row > div { padding: .4rem 1.2rem; }
	.adv-compare__feat {
		font-size: 1rem;
		padding-bottom: .15rem !important;
		border-bottom: 1px dashed #f0eee8;
	}
	.adv-compare__free::before { content: 'Δωρεάν: '; font-weight: 600; color: #555; }
	.adv-compare__prem { background: transparent; }
}

/* "Επικοινωνία" CTA — μικρά κομψά γράμματα */
.adv-price--tbd {
	font-family: 'Roboto', sans-serif;
	font-style: italic;
	font-weight: 400;
	font-size: .88rem;
	letter-spacing: .02em;
	color: var(--star, #22bff1);
	border-bottom: 1px solid currentColor;
	padding-bottom: 1px;
	white-space: nowrap;
	text-decoration: none;
	transition: color .2s;
}
.adv-price--tbd:hover { color: #1ba8d6; }
.adv-hero-band .adv-price--tbd { color: #fff; border-bottom-color: rgba(255,255,255,.6); }
.adv-hero-band .adv-price--tbd:hover { color: var(--star, #22bff1); border-bottom-color: var(--star, #22bff1); }

/* Banners table: tighten dim columns */
.adv-tbl__dim { white-space: nowrap; text-align: center; }
.adv-tbl__dim code {
	background: #f4f1ea;
	padding: .15rem .55rem;
	border-radius: 4px;
	font-size: .85rem;
	color: #333;
}

/* ============================================================
   Alerts page (Newsletter landing)
   ============================================================ */
/* Κρύβουμε το footer insider μόνο σε αυτή τη σελίδα (δεν θέλουμε διπλό form) */
.page-template-page-alerts .insider { display: none; }

.alerts-hero {
	background: linear-gradient(160deg, #142c39 0%, #1b3a4b 60%, #22485d 100%);
	color: #f4f1ea;
	padding: 4rem 0 3rem;
	text-align: center;
}
.alerts-hero__eyebrow {
	letter-spacing: .15em;
	text-transform: uppercase;
	font-size: .8rem;
	opacity: .8;
	margin: 0 0 .5rem;
	color: #f4c542;
}
.alerts-hero__title {
	font-family: 'Roboto', sans-serif;
	font-size: clamp(2rem, 4vw, 3rem);
	margin: 0 0 1rem;
	line-height: 1.1;
	font-weight: 700;
}
.alerts-hero__title em { font-style: italic; color: var(--star, #22bff1); font-weight: 500; }
.alerts-hero__dot { color: var(--star, #22bff1); }
.alerts-hero__lede {
	max-width: 38rem;
	margin: 0 auto;
	opacity: .9;
	line-height: 1.6;
}

.alerts-container { padding: 3rem 1rem 4rem; }

.alerts-grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: 3rem;
	align-items: start;
}
@media (max-width: 900px) { .alerts-grid { grid-template-columns: 1fr; } }

.alerts-section__h {
	font-family: 'Roboto', sans-serif;
	font-size: 1.5rem;
	margin: 0 0 1.5rem;
	color: #142c39;
	font-weight: 600;
}

/* Perks list */
.alerts-perk {
	display: grid;
	grid-template-columns: 48px 1fr;
	gap: 1.2rem;
	margin: 0 0 2rem;
	padding-bottom: 2rem;
	border-bottom: 1px solid #f0eee8;
}
.alerts-perk:last-child { border-bottom: 0; padding-bottom: 0; margin-bottom: 0; }
.alerts-perk__icon {
	display: inline-flex;
	width: 48px;
	height: 48px;
	border-radius: 12px;
	background: rgba(34, 191, 241, .1);
	color: var(--star, #22bff1);
	align-items: center;
	justify-content: center;
}
.alerts-perk__icon--snow { background: rgba(244, 197, 66, .15); color: #d4a017; }
.alerts-perk__icon--check { background: rgba(70, 180, 80, .12); color: #46b450; }
.alerts-perk__title {
	font-size: 1.15rem;
	margin: 0 0 .35rem;
	color: #142c39;
	font-weight: 600;
}
.alerts-perk__sub { margin: 0 0 .8rem; color: #555; line-height: 1.55; font-size: .95rem; }
.alerts-perk__list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.alerts-perk__list li {
	position: relative;
	padding: .25rem 0 .25rem 1.3rem;
	color: #444;
	font-size: .9rem;
	line-height: 1.5;
}
.alerts-perk__list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: .65rem;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--star, #22bff1);
	opacity: .55;
}

/* Form (sticky on desktop) */
.alerts-form-wrap {
	position: sticky;
	top: 2rem;
}
.alerts-form {
	background: #f7f5ef;
	border: 1px solid #e0d9c8;
	border-radius: 16px;
	padding: 2rem 1.75rem;
	box-shadow: 0 10px 40px rgba(20, 44, 57, .08);
}
.alerts-form__eyebrow {
	letter-spacing: .1em;
	text-transform: uppercase;
	font-size: .7rem;
	color: var(--star, #22bff1);
	font-weight: 700;
	margin: 0 0 .3rem;
}
.alerts-form__h {
	font-size: 1.5rem;
	margin: 0 0 .4rem;
	color: #142c39;
	font-weight: 600;
}
.alerts-form__h em { font-style: italic; color: var(--star, #22bff1); }
.alerts-form__sub { margin: 0 0 1.5rem; color: #555; font-size: .88rem; line-height: 1.5; }

.alerts-form__fields { display: flex; flex-direction: column; gap: .8rem; margin: 0 0 1.2rem; }
.alerts-field { display: flex; flex-direction: column; gap: .25rem; font-size: .85rem; }
.alerts-field span { font-weight: 600; color: #333; }
.alerts-field input {
	font: inherit;
	padding: .65rem .8rem;
	border: 1px solid #d4d4d4;
	border-radius: 8px;
	background: #fff;
	width: 100%;
	box-sizing: border-box;
}
.alerts-field input:focus {
	border-color: var(--star, #22bff1);
	outline: none;
	box-shadow: 0 0 0 3px rgba(34, 191, 241, .15);
}

.alerts-form__submit {
	font: inherit;
	font-weight: 600;
	font-size: 1rem;
	background: #142c39;
	color: #fff;
	border: 0;
	padding: .85rem 1.2rem;
	border-radius: 8px;
	cursor: pointer;
	width: 100%;
	transition: background .2s;
}
.alerts-form__submit:hover { background: var(--star, #22bff1); }
.alerts-form__msg { margin: .8rem 0 0; min-height: 1.2em; font-size: .85rem; text-align: center; }
.alerts-form__msg.is-success { color: #1f8a3f; font-weight: 600; }
.alerts-form__msg.is-error   { color: #c0392b; }
.alerts-form__privacy { margin: 1rem 0 0; font-size: .75rem; color: #888; text-align: center; line-height: 1.5; }

/* Bottom stats */
.alerts-bottom {
	margin: 3rem 0 0;
	padding-top: 2.5rem;
	border-top: 1px solid #e6e6e6;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 1.5rem;
	text-align: center;
}
.alerts-stat { color: #555; font-size: .85rem; line-height: 1.5; }
.alerts-stat strong {
	display: block;
	font-size: 1.6rem;
	color: var(--star, #22bff1);
	font-weight: 600;
	margin-bottom: .15rem;
}
.alerts-stat small { color: #888; font-size: .75rem; }

/* Top bar — Alerts link να ξεχωρίζει */
.topbar__link--alerts { color: #f4c542; }
.topbar__link--alerts:hover { color: #ffd76b; }

/* Single place — περιοχή δίπλα στον τίτλο */
.place__title-area {
	font-size: .55em;
	color: #888;
	font-weight: 400;
	letter-spacing: .01em;
	margin-left: .15em;
	white-space: nowrap;
}

/* Top bar — weather widget (Αράχωβα τώρα) */
.topbar__weather {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	color: #d4cfc1;
	text-decoration: none;
	margin-right: auto;
	padding: 0 .4rem;
	border-right: 1px solid rgba(255,255,255,.1);
	transition: color .2s;
}
.topbar__weather:hover { color: #f4c542; }
.topbar__weather-icon {
	display: inline-flex;
	color: var(--star, #22bff1);
}
.topbar__weather-place {
	font-size: .75rem;
	opacity: .75;
	letter-spacing: .02em;
}
.topbar__weather-temp {
	font-weight: 600;
	font-size: .85rem;
	color: #fff;
}
@media (max-width: 500px) {
	.topbar__weather { border-right: 0; padding: 0; }
	.topbar__weather-place { display: none; }
}

/* Parea — Coming Soon variant */
.parea-coming {
	text-align: center;
	padding: 4rem 1rem 4.5rem;
	max-width: 38rem;
	margin: 0 auto;
	background: #f7f5ef;
	border-radius: 16px;
	color: #555;
}
.parea-coming__badge {
	display: inline-block;
	background: linear-gradient(135deg, #d4a017, #f4c542);
	color: #fff;
	padding: .3rem .9rem;
	border-radius: 30px;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	margin-bottom: 1.5rem;
}
.parea-coming__icon {
	color: var(--star, #22bff1);
	margin-bottom: 1rem;
}
.parea-coming__h {
	font-size: 1.8rem;
	margin: 0 0 .6rem;
	color: #142c39;
	font-weight: 600;
}
.parea-coming__p {
	margin: 0 0 1.5rem;
	font-size: 1rem;
	line-height: 1.6;
}

/* ============================================================
   Native reviews (Κριτικές επισκεπτών) + Form
   ============================================================ */
.vlgm-rv__aggregate {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	font-size: .9rem;
	font-weight: 500;
	margin-left: .5rem;
}
.vlgm-rv__avg-stars { color: #f4c542; letter-spacing: -2px; font-size: 1rem; }
.vlgm-rv__count { color: #888; font-weight: 400; }

.vlgm-rv__list {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	margin-top: 1rem;
}
.vlgm-rv__item {
	background: #fafafa;
	border: 1px solid #ececec;
	border-radius: 10px;
	padding: 1rem 1.2rem;
}
.vlgm-rv__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .6rem;
	margin-bottom: .5rem;
	font-size: .85rem;
}
.vlgm-rv__author { font-weight: 600; color: #222; }
.vlgm-rv__verified {
	font-size: .65rem;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: #46b450;
	background: rgba(70,180,80,.1);
	padding: .15rem .45rem;
	border-radius: 30px;
	font-weight: 600;
}
.vlgm-rv__stars { color: #f4c542; letter-spacing: -2px; }
.vlgm-rv__date { color: #888; margin-left: auto; font-size: .8rem; }
.vlgm-rv__title { margin: 0 0 .35rem; font-size: 1rem; color: #222; }
.vlgm-rv__text { margin: 0; color: #444; line-height: 1.55; font-size: .92rem; }

/* Form (collapsible) */
.vlgm-rv-form-toggle { margin-top: 1rem; }
.vlgm-rv-form-toggle > summary {
	list-style: none;
	cursor: pointer;
	padding: 1rem 1.3rem;
	background: linear-gradient(135deg, #f7f5ef, #fafafa);
	border: 1px solid #e0d9c8;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	transition: border-color .2s, background .2s;
}
.vlgm-rv-form-toggle > summary::-webkit-details-marker { display: none; }
.vlgm-rv-form-toggle > summary:hover {
	border-color: var(--star, #22bff1);
	background: #fff;
}
.vlgm-rv-form-toggle > summary h2 {
	margin: 0;
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	color: #f4c542;
}
.vlgm-rv-form-toggle__hint {
	color: #777;
	font-size: .9rem;
}
.vlgm-rv-form-toggle[open] > summary {
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
	border-bottom: 0;
}
.vlgm-rv-form {
	background: #fff;
	border: 1px solid #e0d9c8;
	border-top: 0;
	border-radius: 0 0 10px 10px;
	padding: 1.5rem;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
.vlgm-rv-hp { position: absolute; left: -9999px; }
.vlgm-rv-field { display: flex; flex-direction: column; gap: .3rem; }
.vlgm-rv-field__lbl { font-weight: 600; font-size: .88rem; color: #333; }
.vlgm-rv-field__lbl small { font-weight: 400; color: #888; }
.vlgm-rv-field input,
.vlgm-rv-field textarea {
	font: inherit;
	padding: .65rem .8rem;
	border: 1px solid #d4d4d4;
	border-radius: 8px;
	background: #fff;
	width: 100%;
	box-sizing: border-box;
}
.vlgm-rv-field input:focus,
.vlgm-rv-field textarea:focus {
	border-color: var(--star, #22bff1);
	outline: none;
	box-shadow: 0 0 0 3px rgba(34,191,241,.15);
}
.vlgm-rv-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 600px) { .vlgm-rv-row { grid-template-columns: 1fr; } }

/* Star rating input (CSS-only, click 5 = όλα γεμίζουν) */
.vlgm-rv-stars {
	display: inline-flex;
	flex-direction: row-reverse;
	gap: .15rem;
	font-size: 2rem;
	line-height: 1;
}
.vlgm-rv-stars input { display: none; }
.vlgm-rv-stars label {
	cursor: pointer;
	color: #ddd;
	transition: color .15s, transform .15s;
}
.vlgm-rv-stars label:hover,
.vlgm-rv-stars label:hover ~ label,
.vlgm-rv-stars input:checked ~ label {
	color: #f4c542;
}
.vlgm-rv-stars label:hover { transform: scale(1.1); }

.vlgm-rv-msg { margin: 0; font-size: .9rem; min-height: 1.2em; }
.vlgm-rv-msg.is-success { color: #1f8a3f; font-weight: 600; }
.vlgm-rv-msg.is-error   { color: #c0392b; }

.vlgm-rv-actions { display: flex; flex-direction: column; gap: .75rem; }
.vlgm-rv-submit {
	font: inherit;
	font-weight: 600;
	background: #142c39;
	color: #fff;
	border: 0;
	padding: .8rem 1.5rem;
	border-radius: 8px;
	cursor: pointer;
	transition: background .2s;
	align-self: flex-start;
}
.vlgm-rv-submit:hover { background: var(--star, #22bff1); }
.vlgm-rv-privacy { font-size: .75rem; color: #777; margin: 0; line-height: 1.5; }

/* ============================================================
   Reviews — Premium CTA + Modal
   ============================================================ */
.vlgm-rv-cta {
	margin: 2rem 0;
}
.vlgm-rv-cta__inner {
	background: linear-gradient(135deg, #142c39 0%, #1e4a5f 100%);
	color: #f4f1ea;
	border-radius: 16px;
	padding: 2rem 2.2rem;
	text-align: center;
	box-shadow: 0 10px 40px rgba(20, 44, 57, .15);
	position: relative;
	overflow: hidden;
}
.vlgm-rv-cta__inner::before {
	content: '';
	position: absolute;
	top: -50%;
	right: -10%;
	width: 60%;
	height: 200%;
	background: radial-gradient(ellipse, rgba(244, 197, 66, .12) 0%, transparent 50%);
	pointer-events: none;
}
.vlgm-rv-cta__badge {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	background: rgba(244, 197, 66, .15);
	color: #f4c542;
	padding: .35rem .85rem;
	border-radius: 30px;
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	border: 1px solid rgba(244, 197, 66, .3);
}
.vlgm-rv-cta__h {
	font-family: 'Roboto', sans-serif;
	font-size: 1.6rem;
	margin: 1rem 0 .5rem;
	font-weight: 600;
	color: #fff;
}
.vlgm-rv-cta__p {
	margin: 0 0 1.5rem;
	color: #d4cfc1;
	line-height: 1.6;
	max-width: 30rem;
	margin-left: auto;
	margin-right: auto;
}
.vlgm-rv-cta__p strong { color: #fff; }
.vlgm-rv-cta__btn {
	font: inherit;
	font-weight: 600;
	font-size: 1rem;
	background: #f4c542;
	color: #142c39;
	border: 0;
	padding: .85rem 2rem;
	border-radius: 50px;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	transition: background .2s, transform .1s;
	margin-bottom: 1.5rem;
}
.vlgm-rv-cta__btn:hover { background: #ffd76b; transform: translateY(-1px); }
.vlgm-rv-cta__btn:active { transform: translateY(0); }

/* Modal */
.vlgm-rv-modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: none;
	align-items: flex-start;
	justify-content: center;
	padding: 2rem 1rem;
	overflow-y: auto;
}
.vlgm-rv-modal.is-open { display: flex; }
.vlgm-rv-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 20, 25, .65);
	backdrop-filter: blur(3px);
}
.vlgm-rv-modal__panel {
	position: relative;
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 25px 80px rgba(0,0,0,.3);
	width: 100%;
	max-width: 560px;
	padding: 0;
	overflow: hidden;
}
.vlgm-rv-modal__close {
	position: absolute;
	top: .75rem;
	right: 1rem;
	width: 2.2rem;
	height: 2.2rem;
	border: 0;
	background: rgba(255,255,255,.15);
	font-size: 1.6rem;
	line-height: 1;
	color: #fff;
	cursor: pointer;
	border-radius: 50%;
	z-index: 10;
	transition: background .2s;
}
.vlgm-rv-modal__close:hover { background: rgba(255,255,255,.25); }
.vlgm-rv-modal__head {
	background: linear-gradient(135deg, #142c39, #1e4a5f);
	color: #f4f1ea;
	padding: 1.75rem 2rem 1.5rem;
}
.vlgm-rv-modal__title {
	font-family: 'Roboto', sans-serif;
	font-size: 1.4rem;
	margin: .8rem 0 0;
	color: #fff;
	font-weight: 500;
}
.vlgm-rv-modal__title em { color: #f4c542; font-style: italic; }

/* Form inside modal */
.vlgm-rv-modal .vlgm-rv-form {
	background: #fff;
	border: 0;
	border-radius: 0;
	padding: 1.75rem 2rem 2rem;
	display: flex;
	flex-direction: column;
	gap: 1.2rem;
}

.vlgm-rv-hp { position: absolute; left: -9999px; }
.vlgm-rv-field { display: flex; flex-direction: column; gap: .35rem; }
.vlgm-rv-field--rating { align-items: flex-start; }
.vlgm-rv-field__lbl {
	font-weight: 600;
	font-size: .88rem;
	color: #333;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: .5rem;
	flex-wrap: wrap;
}
.vlgm-rv-field__lbl em { color: #d63638; font-style: normal; }
.vlgm-rv-field__lbl small { font-weight: 400; color: #888; font-size: .8em; }
.vlgm-rv-field input,
.vlgm-rv-field textarea {
	font: inherit;
	padding: .7rem .9rem;
	border: 1px solid #d4d4d4;
	border-radius: 8px;
	background: #fff;
	width: 100%;
	box-sizing: border-box;
	transition: border-color .15s, box-shadow .15s;
}
.vlgm-rv-field input:focus,
.vlgm-rv-field textarea:focus {
	border-color: var(--star, #22bff1);
	outline: none;
	box-shadow: 0 0 0 3px rgba(34,191,241,.15);
}
.vlgm-rv-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 600px) { .vlgm-rv-row { grid-template-columns: 1fr; } }

/* Char counter με χρωματικά state */
.vlgm-rv-counter {
	font-size: .75rem;
	color: #888;
	font-weight: 500;
	font-variant-numeric: tabular-nums;
}
.vlgm-rv-counter.is-too-short { color: #d63638; }
.vlgm-rv-counter.is-warning   { color: #d4a017; }
.vlgm-rv-counter.is-ok        { color: #46b450; }

/* Star input */
.vlgm-rv-stars {
	display: inline-flex;
	flex-direction: row-reverse;
	gap: .15rem;
	font-size: 2.2rem;
	line-height: 1;
}
.vlgm-rv-stars input { display: none; }
.vlgm-rv-stars label {
	cursor: pointer;
	color: #e0e0e0;
	transition: color .15s, transform .15s;
}
.vlgm-rv-stars label:hover,
.vlgm-rv-stars label:hover ~ label,
.vlgm-rv-stars input:checked ~ label {
	color: #f4c542;
}
.vlgm-rv-stars label:hover { transform: scale(1.15); }

.vlgm-rv-msg { margin: 0; font-size: .9rem; min-height: 1.2em; text-align: center; }
.vlgm-rv-msg.is-success { color: #1f8a3f; font-weight: 600; }
.vlgm-rv-msg.is-error   { color: #c0392b; }

.vlgm-rv-actions {
	display: flex;
	flex-direction: column;
	gap: .85rem;
	align-items: center;
	margin-top: .5rem;
}
.vlgm-rv-submit {
	font: inherit;
	font-weight: 600;
	font-size: 1rem;
	background: #142c39;
	color: #fff;
	border: 0;
	padding: .85rem 2rem;
	border-radius: 50px;
	cursor: pointer;
	transition: background .2s, transform .1s;
	min-width: 200px;
}
.vlgm-rv-submit:hover { background: var(--star, #22bff1); transform: translateY(-1px); }
.vlgm-rv-submit:active { transform: translateY(0); }
.vlgm-rv-privacy {
	font-size: .75rem;
	color: #888;
	margin: 0;
	line-height: 1.5;
	text-align: center;
	max-width: 26rem;
}

/* Override παλιό CSS .vlgm-rv-form-toggle (αν υπάρχει) */
.vlgm-rv-form-toggle { display: none !important; }

/* ============================================================
   Home hero — με background image (όταν ενεργό)
   ============================================================ */
.home-hero--with-bg {
	position: relative;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	min-height: clamp(420px, 65vh, 720px);
	overflow: hidden;
}
.home-hero--with-bg .home-hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(20,44,57,.78) 0%, rgba(20,44,57,.55) 50%, rgba(20,44,57,.85) 100%);
	z-index: 1;
}
.home-hero--with-bg .container.home-hero__grid {
	position: relative;
	z-index: 2;
	min-height: inherit;
	align-content: center;
}
/* Λευκό κείμενο όταν είναι ενεργό το bg */
.home-hero--with-bg .home-hero__eyebrow,
.home-hero--with-bg .home-hero__title,
.home-hero--with-bg .home-hero__title em,
.home-hero--with-bg .open-now__label,
.home-hero--with-bg .mtn-tbl__loc,
.home-hero--with-bg .mtn-tbl__now,
.home-hero--with-bg .mtn-tbl__tmr,
.home-hero--with-bg .open-now__name,
.home-hero--with-bg .open-now__meta { color: #fff; }
.home-hero--with-bg .home-hero__title em { color: #f4c542; }
.home-hero--with-bg .home-hero__dot { color: #f4c542; }
.home-hero--with-bg .mtn-tbl {
	background: rgba(255,255,255,.08);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	border: 1px solid rgba(255,255,255,.15);
	padding: .5rem;
	border-radius: 12px;
}
.home-hero--with-bg .mtn-tbl__row { border-color: rgba(255,255,255,.1); }

/* CTA pill */
.home-hero__bg-cta {
	position: absolute;
	top: 1.5rem;
	right: 1.5rem;
	z-index: 5;
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	background: #f4c542;
	color: #142c39;
	padding: .65rem 1.3rem;
	border-radius: 50px;
	text-decoration: none;
	font-weight: 600;
	font-size: .9rem;
	box-shadow: 0 4px 18px rgba(0,0,0,.2);
	transition: background .2s, transform .15s;
}
.home-hero__bg-cta:hover {
	background: #ffd76b;
	transform: translateY(-2px);
}
@media (max-width: 600px) {
	.home-hero__bg-cta { top: 1rem; right: 1rem; font-size: .8rem; padding: .5rem 1rem; }
}

/* ============================================================
   Hero slideshow + ξεχωριστή weather section
   ============================================================ */
.home-hero__bg-stack {
	position: absolute;
	inset: 0;
	z-index: 0;
}
.home-hero__bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	opacity: 0;
	transition: opacity 1.4s ease-in-out;
}
.home-hero__bg.is-active { opacity: 1; }

/* Remove old static bg από .home-hero--with-bg (stack το χειρίζεται τώρα) */
.home-hero--with-bg { background-image: none !important; }

/* Hide CTA when no per-slide CTA exists */
.home-hero__bg-cta.is-hidden { display: none; }

/* Συνθήκες Βουνού - ανεξάρτητη ενότητα κάτω από το hero */
.home-weather {
	padding: 2rem 0 1rem;
	background: #fafafa;
	border-bottom: 1px solid #ececec;
}
.home-weather > .container { max-width: 920px; }
.home-weather .open-now__label {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: .6rem;
	font-weight: 600;
	color: #142c39;
	margin: 0 0 1rem;
	font-size: 1rem;
}
.home-weather .mtn-tbl {
	background: #fff;
	border: 1px solid #e6e6e6;
	border-radius: 12px;
	padding: .5rem;
	box-shadow: 0 4px 14px rgba(0,0,0,.04);
}

/* Override παλιό κανόνα: το hero δεν περιέχει πια το weather */
.home-hero--with-bg .mtn-tbl,
.home-hero--with-bg .open-now__label,
.home-hero--with-bg .mtn-tbl__loc,
.home-hero--with-bg .mtn-tbl__now,
.home-hero--with-bg .mtn-tbl__tmr,
.home-hero--with-bg .open-now__name,
.home-hero--with-bg .open-now__meta { color: inherit; background: transparent; backdrop-filter: none; border: 0; }

/* ============================================================
   Hero — weather card (inside hero, με readable styling)
   + Slider dots + arrows + CTA replacement
   ============================================================ */
/* Λευκή κάρτα για weather inside hero */
.home-hero__weather-card {
	background: rgba(255,255,255,.97);
	border-radius: 14px;
	padding: .85rem 1rem;
	box-shadow: 0 12px 38px rgba(0,0,0,.18);
	color: #142c39;
}
.home-hero__weather-card .open-now__label,
.home-hero__weather-card .mtn-tbl__loc,
.home-hero__weather-card .mtn-tbl__now,
.home-hero__weather-card .mtn-tbl__tmr,
.home-hero__weather-card .open-now__name,
.home-hero__weather-card .open-now__meta { color: #142c39; }
.home-hero__weather-card .mtn-tbl {
	background: transparent;
	backdrop-filter: none;
	border: 0;
	padding: 0;
}
.home-hero__weather-card .mtn-tbl__row { border-color: rgba(20,44,57,.08); }

/* CTA slide variant στη θέση των buttons */
.home-hero__ctas { position: relative; }
.home-hero__ctas-default { display: inline-flex; gap: .55rem; }
.home-hero__ctas-default.is-hidden { display: none; }
.home-hero__cta--slide { display: inline-flex; }
.home-hero__cta--slide.is-hidden { display: none; }

/* Dots */
.home-hero__dots {
	position: absolute;
	bottom: 1.2rem;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	gap: .45rem;
	z-index: 6;
}
.home-hero__slide-dot {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: rgba(255,255,255,.45);
	border: 0;
	cursor: pointer;
	padding: 0;
	transition: background .2s, transform .2s;
}
.home-hero__slide-dot:hover { background: rgba(255,255,255,.75); }
.home-hero__slide-dot.is-active {
	background: #f4c542;
	transform: scale(1.3);
}

/* Prev/Next arrows */
.home-hero__nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 5;
	width: 38px;
	height: 38px;
	border: 0;
	border-radius: 50%;
	background: rgba(255,255,255,.15);
	color: #fff;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	backdrop-filter: blur(4px);
	transition: background .2s, transform .15s;
}
.home-hero__nav:hover {
	background: rgba(255,255,255,.3);
}
.home-hero__nav:active { transform: translateY(-50%) scale(.95); }
.home-hero__nav--prev { left: 1rem; }
.home-hero__nav--next { right: 1rem; }
@media (max-width: 600px) {
	.home-hero__nav { width: 30px; height: 30px; }
	.home-hero__nav--prev { left: .5rem; }
	.home-hero__nav--next { right: .5rem; }
}

/* Remove παλιό top-right CTA (πλέον δεν χρησιμοποιείται) */
.home-hero__bg-cta { display: none !important; }

/* Συνθήκες βουνού card - πιο φαρδιά */
.home-hero__side { min-width: 340px; }
.home-hero__weather-card { min-width: 340px; }
@media (max-width: 900px) {
	.home-hero__side { min-width: 0; }
	.home-hero__weather-card { min-width: 0; }
}

/* ==========================================================================
   Offers (Προσφορές στο βουνό) — affiliate feed
   ========================================================================== */

.offers-hero {
	background: linear-gradient(135deg, var(--aegean-deep) 0%, var(--aegean) 100%);
	color: #fff;
	padding: 3.5rem 0 3rem;
}
.offers-hero__inner { text-align: center; }
.offers-hero__title {
	margin: 0 0 .6rem;
	font-family: var(--font-serif);
	font-weight: 600;
	font-size: clamp(1.75rem, 4vw, 2.6rem);
	color: #fff;
}
.offers-hero__lede {
	margin: 0 auto .9rem;
	max-width: 640px;
	color: rgba(255,255,255,.82);
	font-size: 1.02rem;
	line-height: 1.5;
}
.offers-hero__stats {
	display: inline-flex;
	gap: .55rem;
	align-items: center;
	padding: .4rem .9rem;
	border-radius: 999px;
	background: rgba(255,255,255,.12);
	font-size: .85rem;
	color: rgba(255,255,255,.92);
}
.offers-hero__stat strong { color: #f4c542; font-weight: 700; margin-right: .15rem; }
.offers-hero__stat-dot { opacity: .5; }

.offers { padding: 2rem 0 3.5rem; }

.offers-toolbar {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	align-items: center;
	justify-content: space-between;
	padding: .85rem 1rem;
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 4px;
	margin-bottom: 1.25rem;
	box-shadow: var(--shadow-sm);
}

.offers-tabs { display: inline-flex; gap: 0; background: var(--bg); padding: 3px; border-radius: 999px; border: 1px solid var(--line); }
.offers-tab {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	padding: .45rem .95rem;
	border: 0;
	background: transparent;
	color: var(--ink-soft);
	font-weight: 600;
	font-size: .88rem;
	border-radius: 999px;
	cursor: pointer;
	transition: background .15s, color .15s;
}
.offers-tab:hover:not(:disabled) { color: var(--ink); }
.offers-tab.is-active { background: var(--aegean-deep); color: #fff; }
.offers-tab:disabled { opacity: .4; cursor: not-allowed; }

.offers-filters { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; }
.offers-filter select {
	appearance: none;
	-webkit-appearance: none;
	padding: .5rem 2.2rem .5rem .85rem;
	border: 1px solid var(--line);
	background: var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235c564e' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right .75rem center;
	border-radius: 4px;
	font: inherit;
	font-size: .87rem;
	color: var(--ink);
	cursor: pointer;
	min-width: 140px;
}
.offers-filter select:focus { outline: 2px solid var(--star); outline-offset: 1px; }

.offers-filter-reset {
	border: 0;
	background: transparent;
	color: var(--aegean);
	font: inherit;
	font-size: .85rem;
	text-decoration: underline;
	cursor: pointer;
}
.offers-filter-reset:hover { color: var(--ink); }

.offers-count {
	margin: 0 0 1rem;
	color: var(--ink-muted);
	font-size: .88rem;
	font-weight: 600;
}

.offers-empty {
	text-align: center;
	padding: 3rem 1rem;
	background: var(--surface);
	border: 1px dashed var(--line);
	border-radius: 4px;
	color: var(--ink-soft);
}
.offers-empty svg { color: var(--ink-muted); margin-bottom: .5rem; }
.offers-empty h2 { font-family: var(--font-serif); font-size: 1.25rem; margin: .4rem 0 .35rem; color: var(--ink); }
.offers-empty p { margin: 0; color: var(--ink-muted); }

.offers-view { display: none; }
.offers-view.is-active { display: block; }

.offers-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
	gap: 1.25rem;
}

.offer-card {
	position: relative;
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 4px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform .2s var(--ease), box-shadow .2s var(--ease);
}
.offer-card[hidden] { display: none; }
.offer-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-md); }
.offer-card__link {
	display: flex;
	flex-direction: column;
	flex: 1;
	color: inherit;
	text-decoration: none;
}
.offer-card__media {
	position: relative;
	aspect-ratio: 4 / 3;
	background: var(--bg);
	overflow: hidden;
}
.offer-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .4s var(--ease);
}
.offer-card:hover .offer-card__img { transform: scale(1.04); }
.offer-card__img--placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--ink-muted);
}
.offer-card__badge {
	position: absolute;
	bottom: .55rem;
	left: .55rem;
	background: rgba(20, 44, 57, .92);
	color: #fff;
	padding: .25rem .55rem;
	font-size: .72rem;
	font-weight: 600;
	border-radius: 3px;
	letter-spacing: .02em;
}
.offer-discount {
	position: absolute;
	top: .55rem;
	left: .55rem;
	background: #d63638;
	color: #fff;
	padding: .3rem .55rem;
	font-size: .8rem;
	font-weight: 800;
	border-radius: 3px;
	letter-spacing: .02em;
}
.offer-card__body {
	padding: .85rem .95rem .75rem;
	display: flex;
	flex-direction: column;
	gap: .25rem;
	flex: 1;
}
.offer-card__brand {
	margin: 0;
	font-size: .72rem;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--ink-muted);
	font-weight: 600;
}
.offer-card__title {
	margin: 0;
	font-family: var(--font-serif);
	font-weight: 600;
	font-size: 1.05rem;
	color: var(--ink);
	line-height: 1.3;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.offer-card:hover .offer-card__title { color: var(--star); }
.offer-card__city {
	margin: .15rem 0 0;
	font-size: .8rem;
	color: var(--ink-soft);
	display: inline-flex;
	align-items: center;
	gap: .25rem;
}
.offer-card__city svg { color: var(--ink-muted); }

.offer-price {
	display: inline-flex;
	align-items: baseline;
	gap: .55rem;
	margin-top: auto;
	padding-top: .5rem;
}
.offer-price__now {
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--aegean-deep);
}
.offer-price__now small { font-size: .75em; margin-left: 2px; font-weight: 600; }
.offer-price__was {
	font-size: .85rem;
	color: var(--ink-muted);
	text-decoration: line-through;
}
.offer-price--single .offer-price__now { font-size: 2rem; }
.offer-price--single .offer-price__was { font-size: 1.05rem; }

.offer-card__cta {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .35rem;
	padding: .65rem 1rem;
	background: var(--aegean-deep);
	color: #fff;
	text-decoration: none;
	font-weight: 600;
	font-size: .9rem;
	letter-spacing: .01em;
	transition: background .15s;
}
.offer-card__cta:hover { background: var(--aegean); color: #fff; }
.offer-card__cta svg { transition: transform .2s; }
.offer-card__cta:hover svg { transform: translateX(2px); }

/* Map view */
.offers-view--map { display: none; }
.offers-view--map.is-active { display: block; }
.offers-map {
	height: 560px;
	min-height: 60vh;
	border-radius: 4px;
	overflow: hidden;
	border: 1px solid var(--line);
	background: var(--bg);
}
.offer-pin { background: #d63638 !important; }

/* Single offer */
.offer { padding: 1.5rem 0 3rem; }
.offer__layout {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: 2rem;
	margin: 1.25rem 0 2rem;
	align-items: start;
}
.offer__media {
	position: relative;
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 4px;
	overflow: hidden;
}
.offer__img {
	width: 100%;
	display: block;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}
.offer__img--placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--bg);
	color: var(--ink-muted);
}
.offer__gallery {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
	gap: 4px;
	padding: 4px;
	background: var(--bg);
}
.offer__gallery-img {
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
	display: block;
	border-radius: 2px;
}

.offer__info {
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 4px;
	padding: 1.5rem;
	position: sticky;
	top: 1rem;
}
.offer__cat {
	margin: 0 0 .25rem;
	font-size: .75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--star);
}
.offer__title {
	margin: 0 0 .35rem;
	font-family: var(--font-serif);
	font-weight: 600;
	font-size: clamp(1.5rem, 3vw, 2rem);
	color: var(--ink);
	line-height: 1.2;
}
.offer__brand {
	margin: 0 0 1rem;
	color: var(--ink-soft);
	font-size: .95rem;
}
.offer__brand strong { color: var(--ink); }

.offer__subtitle {
	margin: -.25rem 0 .85rem;
	padding: .55rem .75rem;
	background: #f5f1ea;
	border-left: 3px solid var(--aegean, #1c5d7a);
	color: var(--ink-soft, #4a4438);
	font-size: .88rem;
	line-height: 1.45;
	border-radius: 0 4px 4px 0;
}

.offer__cta {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .45rem;
	margin: 1.25rem 0 .55rem;
	padding: 1rem 1.25rem;
	background: var(--star);
	color: #fff;
	text-decoration: none;
	font-weight: 700;
	font-size: 1.02rem;
	letter-spacing: .01em;
	border-radius: 4px;
	box-shadow: 0 4px 12px rgba(34, 191, 241, .25);
	transition: transform .15s, box-shadow .2s;
}
.offer__cta:hover { transform: translateY(-1px); box-shadow: 0 6px 18px rgba(34, 191, 241, .35); color: #fff; }
.offer__cta-note {
	margin: 0 0 1rem;
	font-size: .78rem;
	color: var(--ink-muted);
	text-align: center;
}

.offer__facts {
	list-style: none;
	margin: 0;
	padding: 1rem 0 0;
	border-top: 1px solid var(--line);
	font-size: .88rem;
	color: var(--ink-soft);
}
.offer__facts li { padding: .35rem 0; }
.offer__facts strong { color: var(--ink); margin-right: .35rem; }

.offer__desc {
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 4px;
	padding: 1.5rem 1.75rem;
	margin: 0 0 2rem;
}
.offer__desc h2 {
	margin: 0 0 .75rem;
	font-family: var(--font-serif);
	font-weight: 600;
	font-size: 1.3rem;
}
.offer__desc p { margin: 0 0 .75rem; color: var(--ink-soft); line-height: 1.65; }

.offer__map-wrap h2 {
	margin: 0 0 .75rem;
	font-family: var(--font-serif);
	font-weight: 600;
	font-size: 1.3rem;
}
.offer__map {
	height: 380px;
	border-radius: 4px;
	overflow: hidden;
	border: 1px solid var(--line);
}

@media (max-width: 820px) {
	.offer__layout { grid-template-columns: 1fr; }
	.offer__info { position: static; }
	.offers-toolbar { padding: .75rem; }
}
@media (max-width: 600px) {
	.offers-grid { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: .85rem; }
	.offers-hero { padding: 2.25rem 0 2rem; }
	.offer-card__title { font-size: .95rem; }
	.offer-price__now { font-size: 1.05rem; }
	.offers-filters { width: 100%; justify-content: flex-start; }
	.offers-filter select { min-width: 0; flex: 1; }
}

/* Offer expiry badge */
.offer-expiry {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .01em;
	padding: 3px 8px;
	border-radius: 999px;
	background: #f2efe9;
	color: var(--ink-soft, #4a4438);
	line-height: 1.2;
	white-space: nowrap;
}
.offer-expiry svg { opacity: .8; }
.offer-expiry--card {
	margin-top: .5rem;
	align-self: flex-start;
}
.offer-expiry--inline {
	margin-left: .5rem;
	vertical-align: middle;
}
.offer-expiry--soon {
	background: #fdecec;
	color: #b3261e;
}
.offer-expiry--soon svg { opacity: 1; }
.offer-expiry--expired {
	background: #eceff1;
	color: #5c6a73;
	text-decoration: line-through;
}
