/* ==========================================================================
   Chamber C — «Ψηφιακό Portal»
   Φιλικό, task-first: στρογγυλεμένες κάρτες, απαλές σκιές, pills, μεγάλα σημεία αφής.
   Χρώματα/fonts: inc/tokens.php → --c-*, --f-*
   ========================================================================== */

html { font-size: 100%; background: var(--c-bg); }
body.chamber-c {
	margin: 0;
	background: var(--c-bg);
	color: var(--c-text);
	font-family: var(--f-text);
	font-weight: 500;
	font-size: 1.0625rem;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}
.chamber-c *, .chamber-c *::before, .chamber-c *::after { box-sizing: border-box; }
.chamber-c img { max-width: 100%; height: auto; display: block; }
body.chamber-c a { color: var(--c-primary); text-underline-offset: .2em; }
.chamber-c :focus-visible { outline: 3px solid var(--c-primary-600); outline-offset: 3px; border-radius: 6px; }
.chamber-c h1, .chamber-c h2, .chamber-c h3, .chamber-c h4 {
	font-family: var(--f-primary); font-weight: 800; color: var(--c-secondary);
	line-height: 1.18; letter-spacing: -.02em; margin: 0 0 .5em;
}
.chamber-c p { margin: 0 0 1em; }
.chamber-c ul, .chamber-c ol { margin: 0; padding: 0; }

.container { width: 100%; max-width: calc(var(--container) + 48px); margin-inline: auto; padding-inline: 24px; }
.section { padding-block: clamp(2.5rem, 6vw, 4.5rem); }
.section--tight { padding-block: clamp(1.75rem, 4vw, 2.75rem); }
.section--white { background: var(--c-white); }
.muted { color: var(--c-muted); font-size: .9rem; }

.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip-link { position: absolute; left: 16px; top: -100px; z-index: 1000; background: var(--c-secondary); color: #fff !important; padding: .6rem 1rem; border-radius: 999px; }
.skip-link:focus { top: 12px; }
.icon { width: 1.25em; height: 1.25em; flex: none; }
.stretched { text-decoration: none; color: inherit !important; }
.stretched::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }

/* ── Κουμπιά, chips, pills ────────────────────────────────────────────────── */
.chamber-c .btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
	padding: .8rem 1.4rem; border: 0; border-radius: 999px;
	background: var(--c-primary); color: var(--c-white) !important;
	font-family: var(--f-accent); font-weight: 700; font-size: .95rem; line-height: 1.2;
	text-decoration: none; cursor: pointer; white-space: nowrap;
	box-shadow: 0 6px 16px rgba(77, 94, 53, .22); transition: background .2s, transform .2s, box-shadow .2s;
}
.chamber-c .btn:hover { background: var(--c-secondary); transform: translateY(-1px); box-shadow: 0 10px 22px rgba(43, 48, 32, .18); }
.chamber-c .btn--sm { padding: .6rem 1.1rem; font-size: .88rem; }
.chamber-c .btn--lg { padding: 1rem 1.8rem; font-size: 1.05rem; }
.chamber-c .btn--block { width: 100%; }
.chamber-c .btn--ghost { background: var(--c-white); color: var(--c-secondary) !important; box-shadow: inset 0 0 0 1.5px var(--c-line); }
.chamber-c .btn--ghost:hover { background: var(--c-soft); color: var(--c-primary) !important; box-shadow: inset 0 0 0 1.5px var(--c-primary); }
.btn .icon { width: 1.1em; height: 1.1em; }
.link { font-weight: 700; font-size: .92rem; text-decoration: none; }
.link:hover { text-decoration: underline; }

.chips { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.75rem; }
.chamber-c .chip {
	display: inline-flex; align-items: center; gap: .4rem; padding: .5rem .95rem;
	border: 0; border-radius: 999px; background: var(--c-white); box-shadow: inset 0 0 0 1.5px var(--c-line);
	font-family: var(--f-accent); font-weight: 700; font-size: .86rem; color: var(--c-secondary) !important; text-decoration: none; cursor: pointer; line-height: 1.2;
}
.chamber-c .chip:hover { box-shadow: inset 0 0 0 1.5px var(--c-primary); color: var(--c-primary) !important; }
.chamber-c .chip[aria-current], .chamber-c .chip[aria-pressed="true"] { background: var(--c-secondary); color: var(--c-white) !important; box-shadow: none; }
.chip small { opacity: .6; font-weight: 600; }
.chip .icon { width: 1rem; height: 1rem; }
.chip--soft { background: rgba(255,255,255,.7) !important; box-shadow: none !important; color: var(--c-primary) !important; margin-bottom: 1rem !important; }
.chip--coral { background: var(--c-sand) !important; box-shadow: none !important; color: var(--c-primary-700) !important; margin-bottom: .75rem !important; }

.pill { display: inline-flex; align-items: center; gap: .3rem; padding: .22rem .65rem; border-radius: 999px; font-size: .75rem; font-weight: 700; line-height: 1.3; background: var(--c-bg); color: var(--c-muted); text-decoration: none; }
.pill .icon { width: .9rem; height: .9rem; }
.pill--ok { background: #E6EBDA; color: #3A4828; }
.pill--plain { background: var(--c-white); box-shadow: inset 0 0 0 1px var(--c-line); color: var(--c-text); }
/* Ένας τόνος για όλα τα pills/εικονίδια (λίγα χρώματα): ελιά σε απαλό φασκόμηλο */
.tone-teal.pill, .tone-coral.pill, .tone-sky.pill, .tone-amber.pill,
.tone-teal .tile__icon, .tone-coral .tile__icon, .tone-sky .tile__icon, .tone-amber .tile__icon { background: var(--c-soft); color: var(--c-primary); }

.card { position: relative; background: var(--c-white); border-radius: calc(var(--radius) + 4px); padding: 1.75rem; box-shadow: 0 1px 2px rgba(43,48,32,.04), 0 8px 24px rgba(43,48,32,.06); }
.card__heading { display: flex; align-items: center; gap: .5rem; font-size: 1.1rem !important; }
.card__heading .icon { color: var(--c-primary); }

/* ── Header ───────────────────────────────────────────────────────────────── */
.topnav { position: sticky; top: 0; z-index: 100; background: rgba(255,255,255,.92); backdrop-filter: saturate(1.4) blur(10px); border-bottom: 1px solid var(--c-line); }
.admin-bar .topnav { top: 32px; }
.topnav__inner { display: flex; align-items: center; gap: 1.25rem; min-height: 72px; }
.chamber-c .brand__logo { height: 46px; width: auto; }
.topnav__nav { margin-inline: auto; }
.menu-pills { display: flex; gap: .25rem; list-style: none; }
.menu-pills > li { position: relative; }
.menu-pills > li > a { display: block; white-space: nowrap; padding: .55rem .9rem; border-radius: 999px; font-family: var(--f-accent); font-weight: 700; font-size: .93rem; color: var(--c-secondary) !important; text-decoration: none; transition: background .15s; }
.menu-pills > li > a:hover, .menu-pills > li:focus-within > a { background: var(--c-bg); }
.menu-pills > .current-menu-item > a, .menu-pills > .current-menu-ancestor > a, .menu-pills > .current_page_parent > a { background: var(--c-soft); color: var(--c-primary) !important; }
.menu-pills > .menu-item-has-children > a::after { content: ""; display: inline-block; width: .4em; height: .4em; margin-left: .45em; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-.2em) rotate(45deg); opacity: .5; }
.menu-pills .sub-menu {
	position: absolute; left: 50%; top: calc(100% + 10px); min-width: 300px; padding: .5rem; list-style: none;
	background: var(--c-white); border-radius: 18px; box-shadow: 0 24px 48px rgba(43,48,32,.14), 0 0 0 1px var(--c-line);
	opacity: 0; visibility: hidden; transform: translate(-50%, 6px); transition: opacity .15s, transform .15s, visibility 0s .15s;
}
.menu-pills .sub-menu::before { content: ""; position: absolute; left: 0; right: 0; top: -12px; height: 12px; }
.menu-pills > li:hover > .sub-menu, .menu-pills > li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translate(-50%, 0); transition-delay: 0s; }
.menu-pills .sub-menu a { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .65rem .85rem; border-radius: 12px; font-weight: 600; font-size: .93rem; color: var(--c-secondary) !important; text-decoration: none; }
.menu-pills .sub-menu a::after { content: "→"; color: var(--c-muted); transition: transform .15s; }
.menu-pills .sub-menu a:hover { background: var(--c-soft); color: var(--c-primary) !important; }
.menu-pills .sub-menu a:hover::after { transform: translateX(3px); color: var(--c-primary); }
.topnav__mobile-extra { display: none; }
.topnav__actions { display: flex; align-items: center; gap: .6rem; }
.seg { display: inline-flex; padding: 3px; list-style: none; background: var(--c-bg); border-radius: 999px; box-shadow: inset 0 0 0 1px var(--c-line); }
.seg a { display: block; padding: .3rem .7rem; border-radius: 999px; font-weight: 700; font-size: .8rem; color: var(--c-muted) !important; text-decoration: none; }
.seg a[aria-current] { background: var(--c-white); color: var(--c-secondary) !important; box-shadow: 0 1px 3px rgba(43,48,32,.12); }
.seg--lg { margin-bottom: 2rem; }
.seg--lg a { padding: .55rem 1.3rem; font-size: .93rem; }
.chamber-c .circle-btn { display: inline-grid; place-items: center; width: 42px; height: 42px; padding: 0; border: 0; border-radius: 50%; background: var(--c-white); box-shadow: inset 0 0 0 1.5px var(--c-line); color: var(--c-secondary) !important; cursor: pointer; text-decoration: none; font-size: 1.3rem; line-height: 1; }
.chamber-c .circle-btn:hover { box-shadow: inset 0 0 0 1.5px var(--c-primary); color: var(--c-primary) !important; }
.topnav__toggle { display: none !important; }
.topnav__toggle .i-close { display: none; }
.topnav__toggle[aria-expanded="true"] .i-open { display: none; }
.topnav__toggle[aria-expanded="true"] .i-close { display: block; }

/* Αναζήτηση overlay */
.search-overlay { position: fixed; inset: 0; z-index: 200; display: grid; place-items: start center; padding: 12vh 20px 20px; background: rgba(43,48,32,.45); backdrop-filter: blur(4px); }
.search-overlay[hidden] { display: none; }
.search-overlay__box { position: relative; width: min(720px, 100%); padding: 2rem; background: var(--c-white); border-radius: 24px; box-shadow: 0 30px 60px rgba(43,48,32,.25); }
.search-overlay__title { font-family: var(--f-primary); font-weight: 800; font-size: 1.5rem; color: var(--c-secondary); }
.search-overlay__close { position: absolute !important; right: 1rem; top: 1rem; }
.bigsearch { display: flex; align-items: center; gap: .6rem; padding: .45rem .45rem .45rem 1.2rem; background: var(--c-white); border-radius: 999px; box-shadow: 0 0 0 1.5px var(--c-line), 0 10px 30px rgba(43,48,32,.08); }
.bigsearch:focus-within { box-shadow: 0 0 0 3px var(--c-primary-600), 0 10px 30px rgba(43,48,32,.08); }
.bigsearch > .icon { color: var(--c-muted); }
.chamber-c .bigsearch input { flex: 1; min-width: 0; padding: .7rem 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; font-family: var(--f-text); font-size: 1.05rem; font-weight: 500; color: var(--c-secondary); }
.chamber-c .bigsearch input:focus { outline: none; }
.search-inline { max-width: 720px; margin-bottom: 2rem; }

/* ── Hero ─────────────────────────────────────────────────────────────────── */
.hero { padding-top: 1.75rem; }
.hero__panel {
	position: relative; overflow: hidden; display: grid; grid-template-columns: 1.15fr 1fr; gap: 3rem; align-items: center;
	padding: clamp(2rem, 5vw, 4rem); border-radius: 32px;
	background: radial-gradient(circle at 85% 15%, rgba(185,133,60,.16), transparent 40%), radial-gradient(circle at 10% 100%, rgba(77,94,53,.10), transparent 45%), linear-gradient(135deg, #E4E8D8 0%, var(--c-soft) 45%, #F3EDE2 100%);
}
.hero__title { font-size: clamp(2.3rem, 5vw, 3.6rem) !important; line-height: 1.05 !important; letter-spacing: -.035em !important; }
.hero__lead { font-size: 1.15rem; color: var(--c-text); max-width: 46ch; margin-bottom: 1.75rem !important; }
.hero__popular { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-top: 1.1rem; font-size: .88rem; font-weight: 700; color: var(--c-muted); }
.hero__popular .chip { background: rgba(255,255,255,.75); box-shadow: none; font-size: .82rem; padding: .4rem .8rem; }
.hero__visual { position: relative; min-height: 360px; }
.mock { position: absolute; background: var(--c-white); border-radius: 20px; box-shadow: 0 24px 50px rgba(43,48,32,.14); }
.mock--main { left: 0; right: 8%; top: 8%; padding: 1.4rem; display: grid; gap: .6rem; }
.mock__row { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .6rem; font-size: .9rem; color: var(--c-secondary); }
.mock__bar { height: 6px; border-radius: 6px; background: var(--c-bg); overflow: hidden; margin-bottom: .5rem; }
.mock__bar span { display: block; height: 100%; border-radius: 6px; background: linear-gradient(90deg, var(--c-primary), var(--c-primary-600)); }
.dot { width: 10px; height: 10px; border-radius: 50%; }
.dot--teal { background: var(--c-primary); } .dot--coral { background: var(--c-accent); } .dot--sky { background: var(--c-primary); }
.mock--event { right: 0; bottom: 4%; width: 62%; padding: 1rem 1.1rem; display: flex; align-items: center; gap: .9rem; }
.mock--event small { display: block; color: var(--c-muted); font-size: .75rem; }
.mock--event b { display: block; color: var(--c-secondary); font-size: .92rem; line-height: 1.3; }
.mock--stat { left: 4%; bottom: 0; padding: 1rem 1.3rem; background: var(--c-secondary); color: var(--c-white); }
.mock--stat b { display: block; font-family: var(--f-primary); font-size: 1.8rem; line-height: 1; }
.mock--stat small { color: rgba(255,255,255,.75); }

/* ── Επικεφαλίδες ενοτήτων ────────────────────────────────────────────────── */
.section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem 2rem; flex-wrap: wrap; margin-bottom: 1.75rem; }
.section-head__title { font-size: clamp(1.6rem, 3vw, 2.2rem) !important; margin: 0 0 .25rem !important; }
.section-head__title--sm { font-size: 1.35rem !important; margin-bottom: 1rem !important; }
.section-head p { margin: 0 !important; color: var(--c-muted); }
.section-head--center { justify-content: center; text-align: center; }
.count { display: inline-grid; place-items: center; min-width: 1.8em; height: 1.8em; padding: 0 .4em; margin-left: .3rem; border-radius: 999px; background: var(--c-soft); color: var(--c-primary); font-size: .8rem; vertical-align: middle; }

/* ── Πλακίδια υπηρεσιών ───────────────────────────────────────────────────── */
.tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.1rem; list-style: none; }
.tile { position: relative; background: var(--c-white); border-radius: 22px; box-shadow: 0 1px 2px rgba(43,48,32,.04), 0 8px 24px rgba(43,48,32,.05); transition: transform .2s, box-shadow .2s; }
.tile:hover { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(43,48,32,.10); }
.tile > a, .tile--static { display: flex; flex-direction: column; gap: .45rem; height: 100%; padding: 1.5rem; text-decoration: none; color: inherit !important; }
.tile__icon { display: inline-grid; place-items: center; width: 52px; height: 52px; border-radius: 16px; margin-bottom: .5rem; }
.tile__icon .icon { width: 1.5rem; height: 1.5rem; }
.tile__title { font-family: var(--f-primary); font-weight: 800; font-size: 1.12rem !important; color: var(--c-secondary); line-height: 1.3; margin: 0 !important; }
.tile__text { color: var(--c-muted); font-size: .93rem; line-height: 1.5; flex: 1; margin: 0 !important; }
.tile__go { display: inline-flex; align-items: center; gap: .35rem; margin-top: .5rem; font-weight: 700; font-size: .9rem; color: var(--c-primary); }
.tile__go .icon { width: 1rem; height: 1rem; transition: transform .2s; }
.tile:hover .tile__go .icon { transform: translateX(4px); }
.tile__top { display: flex; justify-content: space-between; align-items: flex-start; }
.tile__actions { display: flex; align-items: center; gap: 1rem; margin-top: .75rem; }

/* ── Νέα: κάρτες & slider ─────────────────────────────────────────────────── */
.ncard { position: relative; display: flex; flex-direction: column; background: var(--c-white); border-radius: 22px; padding: .6rem; box-shadow: 0 1px 2px rgba(43,48,32,.04), 0 8px 24px rgba(43,48,32,.06); transition: transform .2s, box-shadow .2s; }
.ncard:hover { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(43,48,32,.10); }
.ncard__media { border-radius: 16px; overflow: hidden; aspect-ratio: 16 / 10; background: var(--c-bg); }
.ncard__media img { width: 100%; height: 100%; object-fit: cover; }
.ncard__body { padding: 1rem .8rem .9rem; display: flex; flex-direction: column; gap: .5rem; flex: 1; }
.ncard__meta { display: flex; align-items: center; gap: .6rem; font-size: .8rem; font-weight: 600; color: var(--c-muted); }
.ncard__title { font-size: 1.08rem !important; line-height: 1.35 !important; margin: 0 !important; font-weight: 800 !important; }
.ncard:hover .ncard__title { color: var(--c-primary); }
.ncard__excerpt { font-size: .9rem; color: var(--c-muted); line-height: 1.5; margin: 0 !important; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.section--white .ncard { box-shadow: 0 0 0 1px var(--c-line); }
.slider { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 3 * 1.1rem) / 4); gap: 1.1rem; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 4px 4px 1rem; margin: -4px; }
.slider::-webkit-scrollbar { display: none; }
.slider > * { scroll-snap-align: start; }
.slider-ctrl { display: flex; gap: .5rem; align-items: center; }
.ngrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }

/* ── Εκδηλώσεις ───────────────────────────────────────────────────────────── */
.events-home { display: grid; grid-template-columns: 360px 1fr; gap: 2rem; align-items: start; }
.event-cards { display: grid; gap: .85rem; }
.event-cards--grid { grid-template-columns: 1fr 1fr; margin-bottom: 2.25rem; }
.ecard { position: relative; display: grid; grid-template-columns: auto 1fr auto; gap: 1.1rem; align-items: center; padding: 1rem 1.2rem 1rem 1rem; background: var(--c-white); border-radius: 20px; box-shadow: 0 1px 2px rgba(43,48,32,.04), 0 8px 24px rgba(43,48,32,.05); transition: transform .2s, box-shadow .2s; }
.ecard:hover { transform: translateY(-2px); box-shadow: 0 16px 36px rgba(43,48,32,.10); }
.ecard__title { font-size: 1.05rem !important; line-height: 1.35 !important; margin: .35rem 0 .3rem !important; }
.ecard:hover .ecard__title { color: var(--c-primary); }
.ecard__meta { display: flex; flex-wrap: wrap; gap: .25rem 1rem; list-style: none; font-size: .84rem; color: var(--c-muted); font-weight: 600; }
.ecard__meta li { display: inline-flex; align-items: center; gap: .3rem; }
.ecard__meta .icon { width: 1rem; height: 1rem; }
.ecard__go { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--c-soft); color: var(--c-primary); }
.ecard.is-past { opacity: .65; }
.ecard.is-past .date-chip { background: var(--c-bg); color: var(--c-muted); }
.date-chip { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; width: 64px; height: 68px; border-radius: 18px; background: var(--c-soft); color: var(--c-primary); line-height: 1; flex: none; }
.date-chip b { font-family: var(--f-primary); font-weight: 800; font-size: 1.6rem; }
.date-chip span { font-size: .75rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; margin-top: .2rem; }
.events-page { display: grid; grid-template-columns: 1fr 340px; gap: 2rem; align-items: start; }
.events-page__aside { position: sticky; top: 96px; }

.minical__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: .75rem; }
.minical__title { font-family: var(--f-primary); font-weight: 800; color: var(--c-secondary); margin: 0 !important; text-transform: capitalize; }
.minical__nav { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--c-bg); text-decoration: none; font-size: 1.2rem; color: var(--c-secondary) !important; }
.minical__grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; text-align: center; margin-bottom: 1rem; }
.minical__dow { font-size: .72rem; font-weight: 700; color: var(--c-muted); padding-bottom: .25rem; }
.minical__grid > span:not(.minical__dow), .minical__grid > a { display: grid; place-items: center; aspect-ratio: 1; border-radius: 12px; font-size: .88rem; font-weight: 600; color: var(--c-text); text-decoration: none; }
.minical__grid .has-event { background: var(--c-primary); color: var(--c-white) !important; font-weight: 800; }
.minical__grid .has-event:hover { background: var(--c-secondary); }
.minical__grid .is-today { box-shadow: inset 0 0 0 2px var(--c-accent); }

.bigcal { padding: 0; overflow: hidden; }
.bigcal__head { display: flex; align-items: center; justify-content: space-between; padding: 1.1rem 1.25rem; border-bottom: 1px solid var(--c-line); }
.bigcal__title { font-size: 1.4rem !important; margin: 0 !important; text-transform: capitalize; }
.bigcal__grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; padding: 1rem; }
.bigcal__dow { padding: .3rem; text-align: center; font-size: .78rem; font-weight: 700; color: var(--c-muted); }
.bigcal__cell { min-height: 110px; padding: .5rem; border-radius: 14px; background: var(--c-bg); display: flex; flex-direction: column; gap: .35rem; }
.bigcal__cell.is-empty { background: transparent; }
.bigcal__cell.has-events { background: var(--c-soft); }
.bigcal__day { font-weight: 800; font-size: .9rem; color: var(--c-secondary); }
.bigcal__cell.is-today .bigcal__day { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--c-accent); color: var(--c-white); }
.bigcal__event { display: block; padding: .35rem .5rem; border-radius: 10px; background: var(--c-white); font-size: .76rem; font-weight: 700; line-height: 1.3; color: var(--c-secondary) !important; text-decoration: none; box-shadow: 0 2px 6px rgba(43,48,32,.06); }
.bigcal__event span { display: block; color: var(--c-primary); }

/* ── Βήματα / μέλη / βοήθεια ──────────────────────────────────────────────── */
.steps-panel { padding: clamp(2rem, 5vw, 3.5rem); border-radius: 32px; background: var(--c-white); box-shadow: 0 8px 24px rgba(43,48,32,.05); }
.steps { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; list-style: none; counter-reset: step; }
.steps::before { content: ""; position: absolute; left: 16%; right: 16%; top: 24px; border-top: 2px dashed var(--c-line); }
.step { position: relative; text-align: center; padding: 0 1rem; }
.step__num { position: relative; display: inline-grid; place-items: center; width: 48px; height: 48px; margin-bottom: 1rem; border-radius: 50%; background: var(--c-primary); color: var(--c-white); font-family: var(--f-primary); font-weight: 800; font-size: 1.2rem; box-shadow: 0 0 0 8px var(--c-white); }
.step__icon { display: none; }
.step__title { font-size: 1.12rem !important; margin-bottom: .35rem !important; }
.step p { color: var(--c-muted); font-size: .93rem; margin: 0 !important; }
.steps-panel__cta { text-align: center; margin-top: 2rem; }
.member-chips { display: flex; flex-wrap: wrap; gap: .6rem; list-style: none; }
.member-chips a { display: inline-flex; align-items: center; gap: .6rem; padding: .35rem 1rem .35rem .35rem; border-radius: 999px; background: var(--c-white); box-shadow: inset 0 0 0 1px var(--c-line); text-decoration: none; font-weight: 700; font-size: .88rem; color: var(--c-secondary) !important; }
.member-chips a:hover { box-shadow: inset 0 0 0 1.5px var(--c-primary); }
.member-chips img { width: 34px; height: 34px; border-radius: 50%; object-fit: cover; }
.help { display: grid; grid-template-columns: 1fr 1.6fr; gap: 2rem; align-items: center; padding: clamp(1.75rem, 4vw, 2.75rem); border-radius: 32px; background: linear-gradient(135deg, var(--c-sand), #F7F1E7); }
.help__intro p { margin: 0 !important; color: var(--c-text); }
.help__options { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; list-style: none; }
.help__options li { display: flex; flex-direction: column; gap: .2rem; padding: 1.25rem; border-radius: 20px; background: var(--c-white); box-shadow: 0 8px 20px rgba(185,133,60,.08); }
.help__options .tile__icon { background: var(--c-soft); color: var(--c-primary); width: 44px; height: 44px; border-radius: 14px; }
.help__options b { color: var(--c-secondary); }
.help__options span:last-child, .help__options a { font-size: .9rem; font-weight: 600; color: var(--c-muted); text-decoration: none; }
.help__options a { color: var(--c-primary) !important; }

/* ── Footer ───────────────────────────────────────────────────────────────── */
.chamber-c .site-footer { background: var(--c-white); border-top: 1px solid var(--c-line); padding-top: 3.5rem; margin-top: 2rem; font-size: .95rem; }
.site-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 2.5rem; padding-bottom: 2.5rem; }
.chamber-c .site-footer__logo { height: 48px; width: auto; margin-bottom: 1rem; }
.site-footer__brand p { color: var(--c-muted); max-width: 34ch; }
.site-footer__title { font-size: .95rem !important; margin-bottom: 1rem !important; }
.site-footer ul { list-style: none; display: grid; gap: .55rem; }
body.chamber-c .site-footer a { color: var(--c-text); text-decoration: none; font-weight: 600; }
body.chamber-c .site-footer a:hover { color: var(--c-primary); }
.site-footer__contact li { display: flex; gap: .6rem; align-items: flex-start; color: var(--c-text); }
.site-footer__contact .icon { color: var(--c-primary); margin-top: .15rem; width: 1.1rem; height: 1.1rem; }
.socials { display: flex !important; gap: .5rem !important; }
.socials a { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--c-bg); }
body.chamber-c .socials a:hover { background: var(--c-primary); color: var(--c-white); }
.socials .icon { width: 1.1rem; height: 1.1rem; }
.site-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; padding-block: 1.25rem; border-top: 1px solid var(--c-line); font-size: .84rem; color: var(--c-muted); }
.site-footer__bottom p { margin: 0 !important; }
.site-footer__bottom ul { display: flex; flex-wrap: wrap; gap: 1.25rem; }

/* ── Banner εσωτερικών ────────────────────────────────────────────────────── */
.banner-wrap { padding-top: 1.5rem; }
.banner { position: relative; overflow: hidden; display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: clamp(1.75rem, 4vw, 3rem); border-radius: 28px; background: radial-gradient(circle at 90% 10%, rgba(185,133,60,.12), transparent 40%), linear-gradient(135deg, #E4E8D8, var(--c-soft) 50%, #F3EDE2); }
.banner__title { font-size: clamp(2rem, 4.5vw, 3rem) !important; letter-spacing: -.03em !important; margin-bottom: .4rem !important; }
.banner__lead { font-size: 1.1rem; max-width: 60ch; margin: 0 !important; }
.banner__icon { display: grid; place-items: center; flex: none; width: 120px; height: 120px; border-radius: 36px; background: var(--c-white); color: var(--c-primary); box-shadow: 0 20px 40px rgba(77,94,53,.15); transform: rotate(-6deg); }
.banner__icon .icon { width: 3.2rem; height: 3.2rem; }
.crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; margin-bottom: 1rem; font-size: .85rem; font-weight: 600; color: var(--c-muted); }
.crumbs a { padding: .2rem .6rem; border-radius: 999px; background: rgba(255,255,255,.7); text-decoration: none; color: var(--c-secondary) !important; }
.crumbs [aria-current] { color: var(--c-primary); }

/* ── Άρθρο ────────────────────────────────────────────────────────────────── */
.article { max-width: 860px; padding-block: 2rem 3rem; }
.article__chips { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; }
.article__title { font-size: clamp(2rem, 4.5vw, 2.9rem) !important; letter-spacing: -.03em !important; }
.article__lead { font-size: 1.2rem; color: var(--c-secondary); font-weight: 600; line-height: 1.55; }
.article__media { margin: 1.5rem 0 2rem; }
.article__media img { width: 100%; border-radius: 24px; }
.article__body { max-width: 720px; }
.prose { font-size: 1.08rem; }
.prose h2 { font-size: 1.5rem; margin-top: 2rem; }
.prose h3 { font-size: 1.2rem; margin-top: 1.5rem; }
.prose ul, .prose ol { padding-left: 1.3rem; margin-bottom: 1.25rem; }
.prose li { margin-bottom: .45rem; }
.prose li::marker { color: var(--c-primary); font-weight: 800; }
.prose blockquote { margin: 1.75rem 0; padding: 1.25rem 1.5rem; border: 0; border-radius: 18px; background: var(--c-soft); color: var(--c-secondary); font-weight: 600; }
.prose blockquote p { margin: 0 !important; }
.feedback { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; max-width: 720px; margin-top: 2.5rem; padding: 1.25rem 1.5rem; border-radius: 20px; background: var(--c-white); box-shadow: inset 0 0 0 1px var(--c-line); }
.feedback p { margin: 0 !important; }
.feedback div { display: flex; gap: .5rem; }

/* Single με πλαϊνή κάρτα */
.with-aside { display: grid; grid-template-columns: 1fr 340px; gap: 1.5rem; align-items: start; }
.info { position: sticky; top: 96px; display: grid; gap: 1rem; justify-items: start; }
.info .btn { justify-self: stretch; }
.info__list { list-style: none; display: grid; gap: .75rem; width: 100%; }
.info__list li { display: flex; gap: .65rem; align-items: flex-start; font-weight: 600; color: var(--c-secondary); }
.info__list .icon { color: var(--c-primary); margin-top: .1rem; }
.info p { margin: 0 !important; color: var(--c-muted); }

/* ── Μέλη (shortcode) ─────────────────────────────────────────────────────── */
.members__tools { display: grid; gap: 1rem; margin-bottom: 1.5rem; }
.members__tools .chips { margin: 0; }
.members__search { display: flex; align-items: center; gap: .6rem; max-width: 520px; padding: .2rem 1.1rem; border-radius: 999px; background: var(--c-white); box-shadow: inset 0 0 0 1.5px var(--c-line); }
.members__search:focus-within { box-shadow: inset 0 0 0 2px var(--c-primary); }
.members__search .icon { color: var(--c-muted); }
.chamber-c .members__search input { flex: 1; padding: .7rem 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; font-family: var(--f-text); font-size: 1rem; }
.chamber-c .members__search input:focus { outline: none; }
.mgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; list-style: none; }
.mcard { position: relative; display: flex; align-items: center; gap: 1rem; padding: 1rem; border-radius: 20px; background: var(--c-white); box-shadow: 0 1px 2px rgba(43,48,32,.04), 0 8px 24px rgba(43,48,32,.05); transition: transform .2s, box-shadow .2s; }
.mcard:hover { transform: translateY(-2px); box-shadow: 0 16px 36px rgba(43,48,32,.10); }
.mcard[hidden] { display: none; }
.mcard__logo img { width: 64px; height: 64px; border-radius: 18px; object-fit: cover; }
.mcard__logo--lg img { width: 120px; height: 120px; border-radius: 28px; }
.mcard__title { font-size: 1rem !important; line-height: 1.3 !important; margin: 0 0 .4rem !important; }
.mcard__meta { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .7rem; margin: 0 !important; font-size: .82rem; color: var(--c-muted); font-weight: 600; }
.mcard__meta span:last-child { display: inline-flex; align-items: center; gap: .2rem; }
.mcard__meta .icon { width: .95rem; height: .95rem; }
.members__empty { padding: 1.5rem; text-align: center; color: var(--c-muted); }

/* ── Σελιδοποίηση / κενά ──────────────────────────────────────────────────── */
.pagination { margin-top: 2.5rem; }
.pagination .nav-links { display: flex; justify-content: center; gap: .4rem; }
.pagination .page-numbers { display: grid; place-items: center; min-width: 44px; height: 44px; padding: 0 .8rem; border-radius: 999px; background: var(--c-white); box-shadow: inset 0 0 0 1px var(--c-line); text-decoration: none; font-weight: 700; }
.pagination .page-numbers.current { background: var(--c-secondary); color: var(--c-white); box-shadow: none; }
.empty { display: grid; gap: 1rem; justify-items: start; }

/* ── Contact Form 7 ───────────────────────────────────────────────────────── */
.chamber-c .wpcf7 form { display: grid; gap: 1.1rem; }
.chamber-c .wpcf7 .form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem; }
.chamber-c .wpcf7 label { display: grid; gap: .4rem; font-weight: 700; font-size: .9rem; color: var(--c-secondary); }
.chamber-c .wpcf7 input:not([type=submit]):not([type=checkbox]), .chamber-c .wpcf7 select, .chamber-c .wpcf7 textarea {
	width: 100%; height: auto; min-height: 50px; padding: .8rem 1rem; border: 0; border-radius: 14px; background: var(--c-bg); box-shadow: inset 0 0 0 1.5px var(--c-line);
	font-family: var(--f-text); font-size: 1rem; font-weight: 500; color: var(--c-secondary);
}
.chamber-c .wpcf7 textarea { min-height: 150px; }
.chamber-c .wpcf7 input:focus, .chamber-c .wpcf7 select:focus, .chamber-c .wpcf7 textarea:focus { outline: none; background: var(--c-white); box-shadow: inset 0 0 0 2px var(--c-primary), 0 0 0 4px var(--c-soft); }
.chamber-c .wpcf7 .wpcf7-acceptance label { display: flex; font-weight: 500; color: var(--c-muted); }
.chamber-c .wpcf7 input[type=submit] { justify-self: start; padding: .9rem 1.8rem; border: 0; border-radius: 999px; background: var(--c-primary); color: var(--c-white); font-family: var(--f-accent); font-weight: 700; font-size: 1rem; cursor: pointer; box-shadow: 0 6px 16px rgba(77,94,53,.22); }
.chamber-c .wpcf7 input[type=submit]:hover { background: var(--c-secondary); }
.chamber-c .wpcf7 form .wpcf7-response-output { margin: 0; padding: .8rem 1rem; border-radius: 14px; }

.chamber-c .elementor-widget-shortcode .elementor-shortcode { width: 100%; }

/* ── Responsive ───────────────────────────────────────────────────────────── */
@media (max-width: 1100px) {
	.topnav__toggle { display: inline-grid !important; }
	.topnav__cta { display: none; }
	.topnav__nav {
		position: fixed; inset: 73px 0 0 0; z-index: 99; margin: 0; padding: 1rem 20px 2rem; overflow-y: auto;
		background: var(--c-white); opacity: 0; visibility: hidden; transform: translateY(-8px); transition: opacity .2s, transform .2s, visibility 0s .2s;
	}
	.admin-bar .topnav__nav { inset: 119px 0 0 0; }
	.topnav__nav.is-open { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
	.menu-pills { flex-direction: column; gap: .4rem; }
	.menu-pills > li > a { padding: .9rem 1rem; border-radius: 16px; background: var(--c-bg); font-size: 1.05rem; }
	.menu-pills > .menu-item-has-children > a::after { display: none; }
	.menu-pills .sub-menu { position: static; opacity: 1; visibility: visible; transform: none; min-width: 0; box-shadow: none; padding: .3rem 0 .5rem .5rem; background: transparent; }
	.menu-pills > li:hover > .sub-menu, .menu-pills > li:focus-within > .sub-menu { transform: none; }
	.topnav__mobile-extra { display: block; margin-top: 1.25rem; }
	.menu-utility { list-style: none; display: grid; gap: .4rem; }
	.menu-utility a { display: block; padding: .8rem 1rem; border-radius: 16px; background: var(--c-soft); font-weight: 700; text-decoration: none; }
	.hero__panel { grid-template-columns: 1fr; }
	.hero__visual { display: none; }
	.tiles, .ngrid, .mgrid { grid-template-columns: repeat(2, 1fr); }
	.slider { grid-auto-columns: calc((100% - 1.1rem) / 2); }
	.events-home, .events-page, .with-aside, .help { grid-template-columns: 1fr; }
	.events-page__aside, .info { position: static; }
	.site-footer__grid { grid-template-columns: 1fr 1fr; }
	.banner__icon { width: 90px; height: 90px; }
}
@media (max-width: 720px) {
	.container { padding-inline: 16px; }
	.chamber-c .brand__logo { height: 38px; }
	.topnav__inner { gap: .5rem; min-height: 64px; }
	.topnav__nav { inset: 65px 0 0 0; }
	.seg a { padding: .3rem .55rem; }
	.hero__panel { border-radius: 24px; padding: 1.5rem; }
	.bigsearch { flex-wrap: wrap; border-radius: 20px; padding: .5rem; }
	.bigsearch > .icon { margin-left: .5rem; }
	.bigsearch .btn { width: 100%; }
	.tiles, .ngrid, .mgrid, .event-cards--grid, .help__options, .site-footer__grid { grid-template-columns: 1fr; }
	.slider { grid-auto-columns: 82%; }
	.slider-ctrl .circle-btn { display: none; }
	.steps { grid-template-columns: 1fr; text-align: left; }
	.steps::before { left: 24px; right: auto; top: 0; bottom: 0; border-top: 0; border-left: 2px dashed var(--c-line); }
	.step { display: grid; grid-template-columns: 48px 1fr; column-gap: 1rem; text-align: left; padding: 0; }
	.step__num { grid-row: span 2; margin: 0; }
	.banner { flex-direction: column; align-items: flex-start; border-radius: 22px; }
	.banner__icon { display: none; }
	.ecard { grid-template-columns: auto 1fr; }
	.ecard__go { display: none; }
	.bigcal__grid { grid-template-columns: 1fr; }
	.bigcal__dow, .bigcal__cell.is-empty, .bigcal__cell:not(.has-events) { display: none; }
	.bigcal__cell { min-height: 0; flex-direction: row; align-items: center; }
	.chamber-c .wpcf7 .form-grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
	.chamber-c * { transition: none !important; scroll-behavior: auto !important; }
}

/* Header σε μικρές οθόνες: το λογότυπο δεν «μαζεύει», το CTA κρύβεται (μένει στο μενού) */
.topnav .brand { flex: none; }
@media (max-width: 1100px) {
	.chamber-c .topnav__cta { display: none; }
	.topnav__actions { margin-left: auto; }
}
