/* ==========================================================================
   Δήμος Λεβαδέων – Σελίδες-οδηγοί με πλευρικό μενού (π.χ. Πολιτική Προστασία)
   ========================================================================== */

/* Το πλαίσιο της σελίδας έχει overflow:hidden, που σταματά το «κολλητό» μενού. */
.dl-has-guide .dl-page__card { overflow: clip; }

.dl-guide {
	--g-gap: clamp(24px, 3vw, 44px);
	display: grid; grid-template-columns: 272px minmax(0, 1fr); column-gap: var(--g-gap); align-items: start;
	font-size: 1rem; line-height: 1.7;
}
.dl-prose .dl-guide > * { margin-bottom: 0; }
.dl-guide > :not(.dl-guide__aside) { grid-column: 2; min-width: 0; }
.dl-guide__aside { grid-column: 1; grid-row: 1 / span 60; align-self: stretch; }
.dl-guide__sticky { position: sticky; top: calc(var(--dl-admin-bar, 0px) + 100px); display: grid; gap: 16px; max-height: calc(100vh - var(--dl-admin-bar, 0px) - 120px); overflow-y: auto; scrollbar-width: thin; padding-bottom: 6px; }

/* ---------- Μενού περιεχομένων ---------- */
.dl-guide__toc { border: 1px solid var(--dl-line); border-radius: 14px; background: var(--dl-surface); overflow: hidden; }
.dl-guide__toc-head {
	display: flex; align-items: center; gap: 10px; padding: 14px 16px; list-style: none; cursor: default;
	font-family: var(--dl-font-head); font-weight: 700; font-size: 1.02rem; color: var(--dl-primary); background: var(--dl-bg); border-bottom: 1px solid var(--dl-line);
}
.dl-guide__toc-head::-webkit-details-marker { display: none; }
.dl-guide__toc-head .dl-ico { width: 20px; height: 20px; }
.dl-guide__toc-cur { display: none; }
.dl-ui .dl-guide__nav { list-style: none; margin: 0; padding: 8px; display: grid; gap: 2px; counter-reset: none; }
.dl-ui .dl-prose .dl-guide__nav > li { margin: 0; }
.dl-ui .dl-guide__nav a {
	--dl-a: var(--dl-ink); display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 9px;
	font-size: .93rem; font-weight: 600; line-height: 1.3; text-decoration: none; transition: background .15s, color .15s;
	border-left: 3px solid transparent;
}
.dl-ui .dl-guide__nav a .dl-ico { width: 18px; height: 18px; color: var(--t, var(--dl-primary)); flex: 0 0 auto; }
.dl-ui .dl-guide__nav a:hover { background: var(--dl-bg); }
.dl-ui .dl-guide__nav a.is-active { --dl-a: var(--t, var(--dl-primary)); background: color-mix(in srgb, var(--t, var(--dl-primary)) 9%, #fff); border-left-color: var(--t, var(--dl-primary)); }

/* ---------- Τηλέφωνα στη στήλη ---------- */
.dl-guide__sos { border-radius: 14px; padding: 16px; background: linear-gradient(150deg, #b91c1c, #7f1d1d); color: #fff; }
.dl-guide__sos-title { margin: 0 0 8px; font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; opacity: .9; }
.dl-ui .dl-guide__sos a { --dl-a: #fff; text-decoration: none; }
.dl-guide__sos-main { display: grid; gap: 0; padding: 8px 12px; border-radius: 10px; background: rgba(255, 255, 255, .14); }
.dl-guide__sos-main strong { font-family: var(--dl-font-head); font-size: 2rem; line-height: 1.1; }
.dl-guide__sos-main span { font-size: .8rem; opacity: .92; line-height: 1.3; }
.dl-ui .dl-guide__sos ul { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 4px; }
.dl-ui .dl-prose .dl-guide__sos li { margin: 0; }
.dl-guide__sos li a { display: flex; align-items: baseline; gap: 10px; padding: 4px 4px; font-size: .9rem; border-radius: 6px; }
.dl-guide__sos li a:hover { background: rgba(255, 255, 255, .12); }
.dl-guide__sos li strong { min-width: 38px; font-size: 1.15rem; }

/* ---------- Τόνοι ενοτήτων ---------- */
[data-icon="phone"], [data-tone="phone"] { --t: var(--dl-primary, #7d0302); }
[data-icon="map"], [data-tone="map"] { --t: #c2410c; }
[data-icon="quake"], [data-tone="quake"] { --t: #92400e; }
[data-icon="fire"], [data-tone="fire"] { --t: #dc2626; }
[data-icon="flood"], [data-tone="flood"] { --t: #1d4ed8; }
[data-icon="wind"], [data-tone="wind"] { --t: #0f766e; }
[data-icon="storm"], [data-tone="storm"] { --t: #4338ca; }
[data-icon="snow"], [data-tone="snow"] { --t: #0369a1; }
[data-icon="frost"], [data-tone="frost"] { --t: #0e7490; }
[data-icon="heat"], [data-tone="heat"] { --t: #ea580c; }
[data-icon="shield"], [data-tone="shield"] { --t: #15803d; }
[data-icon="factory"], [data-tone="factory"] { --t: #475569; }
[data-icon="video"], [data-tone="video"], [data-icon="doc"], [data-tone="doc"], [data-icon="news"], [data-tone="news"] { --t: var(--dl-primary, #7d0302); }
[data-icon="bus"], [data-tone="bus"] { --t: #1d6fb8; }
[data-icon="clock"], [data-tone="clock"] { --t: #0f766e; }
[data-icon="euro"], [data-tone="euro"] { --t: var(--dl-accent-text, #b8901c); }
[data-icon="access"], [data-tone="access"] { --t: #4338ca; }
[data-icon="photo"], [data-tone="photo"] { --t: var(--dl-primary, #7d0302); }

/* ---------- Ενότητες ---------- */
.dl-g-intro { padding-bottom: 8px; }
.dl-g-lead { margin: 0 0 18px; font-size: 1.12rem; line-height: 1.7; color: var(--dl-ink); max-width: 75ch; }
.dl-g-sec { padding: 34px 0 6px; border-top: 1px solid var(--dl-line); scroll-margin-top: calc(var(--dl-admin-bar, 0px) + 110px); }
.dl-g-intro + .dl-g-sec { border-top: 0; padding-top: 14px; }
.dl-ui .dl-prose .dl-g-sec > h2 {
	display: flex; align-items: center; gap: 14px; margin: 0 0 16px; font-size: clamp(1.45rem, 2.4vw, 1.85rem); color: var(--dl-ink); line-height: 1.2;
}
.dl-g-h2ico { display: grid; place-items: center; flex: 0 0 auto; width: 48px; height: 48px; border-radius: 14px; background: color-mix(in srgb, var(--t, var(--dl-primary)) 12%, #fff); color: var(--t, var(--dl-primary)); }
.dl-g-h2ico .dl-ico { width: 26px; height: 26px; }
.dl-g-sec > p { max-width: 78ch; }
.dl-g-kicker { margin: -8px 0 16px; color: var(--dl-muted); font-size: 1rem; }

/* ---------- Καρτέλες φάσεων (Πριν / Κατά / Μετά) ---------- */
.dl-g-tabs { margin: 8px 0 20px; }
.dl-g-tablist { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; padding: 5px; border-radius: 14px; background: var(--dl-bg); border: 1px solid var(--dl-line); }
.dl-ui .dl-g-tablist button {
	overflow-wrap: normal; word-break: normal;
	--dl-btn-pad: 10px 16px; --dl-btn-radius: 10px; --dl-btn-fg: var(--dl-ink); --dl-btn-bg: transparent;
	display: inline-flex; align-items: center; gap: 8px; flex: 1 1 auto; justify-content: center; font-weight: 700; font-size: .93rem; transition: background .15s, color .15s;
}
.dl-g-tablist .dl-g-step { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: color-mix(in srgb, var(--t, var(--dl-primary)) 14%, #fff); color: var(--t, var(--dl-primary)); font-size: .76rem; }
.dl-ui .dl-g-tablist button:hover { --dl-btn-bg: var(--dl-surface); }
.dl-ui .dl-g-tablist button[aria-selected="true"] { --dl-btn-bg: var(--t, var(--dl-primary)); --dl-btn-fg: #fff; box-shadow: 0 4px 12px color-mix(in srgb, var(--t, var(--dl-primary)) 30%, transparent); }
.dl-g-tablist button[aria-selected="true"] .dl-g-step { background: rgba(255, 255, 255, .22); color: #fff; }
.dl-g-tab { display: grid; grid-template-columns: repeat(auto-fit, minmax(290px, 1fr)); gap: 14px; }
.dl-g-tab + .dl-g-tab { margin-top: 22px; }
.dl-g-tabs:not(.is-ready) .dl-g-tab::before { content: attr(data-tab); grid-column: 1 / -1; font-family: var(--dl-font-head); font-weight: 700; font-size: 1.15rem; color: var(--t, var(--dl-primary)); }
.dl-g-tabs.is-ready .dl-g-tab + .dl-g-tab { margin-top: 0; }
.dl-g-tabs.is-ready .dl-g-tab[hidden] { display: none; }
.dl-g-tab:focus { outline: none; }
.dl-g-tab:focus-visible { outline: 3px solid var(--dl-link); outline-offset: 4px; border-radius: 12px; }

.dl-g-grp { padding: 16px 18px; border: 1px solid var(--dl-line); border-top: 3px solid var(--t, var(--dl-primary)); border-radius: 12px; background: var(--dl-surface); }
.dl-g-grp--wide { grid-column: 1 / -1; }
.dl-ui .dl-prose .dl-g-grp h4 { margin: 0 0 10px; font-family: var(--dl-font); font-size: 1rem; font-weight: 700; color: var(--dl-ink); line-height: 1.35; }
.dl-g-grp > p { margin: 0 0 8px; font-size: .95rem; color: var(--dl-muted); }
.dl-ui .dl-prose .dl-g-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.dl-ui .dl-prose .dl-g-list > li { position: relative; margin: 0; padding-left: 26px; font-size: .95rem; line-height: 1.6; }
.dl-ui .dl-prose .dl-g-list > li::before {
	content: ""; position: absolute; left: 2px; top: .42em; width: 15px; height: 15px; border-radius: 50%;
	background: color-mix(in srgb, var(--t, var(--dl-primary)) 14%, #fff);
	box-shadow: inset 0 0 0 5px color-mix(in srgb, var(--t, var(--dl-primary)) 14%, #fff), inset 0 0 0 15px var(--t, var(--dl-primary));
}
.dl-ui .dl-prose .dl-g-sub { list-style: none; margin: 6px 0 0; padding: 0; display: grid; gap: 4px; }
.dl-ui .dl-prose .dl-g-sub li { margin: 0; padding-left: 16px; position: relative; color: var(--dl-muted); font-size: .92rem; }
.dl-ui .dl-prose .dl-g-sub li::before { content: "–"; position: absolute; left: 0; color: var(--t, var(--dl-primary)); }
.dl-g-note { margin: 12px 0 0; font-size: .88rem; color: var(--dl-muted); font-style: italic; }

/* ---------- Τηλέφωνα έκτακτης ανάγκης (στο περιεχόμενο) ---------- */
.dl-ui .dl-prose .dl-g-sos { list-style: none; margin: 0 0 22px; padding: 0; display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 10px; }
.dl-ui .dl-prose .dl-g-sos li { margin: 0; }
.dl-ui .dl-g-sos a {
	--dl-a: var(--dl-ink); display: grid; gap: 2px; height: 100%; padding: 14px 16px; border-radius: 14px; text-decoration: none;
	background: var(--dl-surface); border: 1px solid var(--dl-line); transition: border-color .15s, box-shadow .15s, transform .15s;
}
.dl-ui .dl-g-sos a:hover { border-color: #dc2626; box-shadow: var(--dl-shadow); transform: translateY(-1px); }
.dl-g-sos strong { font-family: var(--dl-font-head); font-size: 1.9rem; line-height: 1; color: #b91c1c; }
.dl-g-sos span { font-size: .86rem; color: var(--dl-muted); line-height: 1.35; }
.dl-ui .dl-g-sos li:first-child a { --dl-a: #fff; background: linear-gradient(140deg, #dc2626, #991b1b); border-color: transparent; }
.dl-g-sos li:first-child strong { color: #fff; font-size: 2.3rem; }
.dl-g-sos li:first-child span { color: rgba(255, 255, 255, .92); }

/* ---------- Κάρτα επικοινωνίας ---------- */
.dl-g-contact { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px; margin-bottom: 8px; }
.dl-g-card { padding: 20px 22px; border-radius: 14px; border: 1px solid var(--dl-line); background: var(--dl-surface); }
.dl-g-card--accent { background: linear-gradient(150deg, color-mix(in srgb, var(--dl-primary) 6%, #fff), #fff 70%); border-left: 4px solid var(--dl-primary); }
.dl-g-role { margin: 0 0 4px; color: var(--dl-accent-text); font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.dl-g-name { margin: 0 0 10px; font-family: var(--dl-font-head); font-size: 1.35rem; font-weight: 700; color: var(--dl-primary); line-height: 1.25; }
.dl-g-card > p { margin: 0 0 10px; font-size: .95rem; }
.dl-ui .dl-prose .dl-g-lines { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.dl-ui .dl-prose .dl-g-lines li { margin: 0; display: flex; gap: 10px; align-items: flex-start; font-size: .95rem; }
.dl-g-lines .dl-ico { margin-top: 3px; color: var(--dl-primary); }
.dl-ui .dl-g-lines a { --dl-a: var(--dl-link); --dl-a-deco: underline; font-weight: 600; }

/* ---------- Πλαίσιο ενημέρωσης / κουμπιά ---------- */
.dl-g-callout { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 14px; align-items: start; margin: 4px 0 18px; padding: 16px 18px; border-radius: 14px; background: color-mix(in srgb, var(--t, var(--dl-primary)) 7%, #fff); border: 1px solid color-mix(in srgb, var(--t, var(--dl-primary)) 22%, #fff); }
.dl-g-callout > .dl-ico { width: 26px; height: 26px; color: var(--t, var(--dl-primary)); margin-top: 2px; }
.dl-g-callout p { margin: 0 0 10px; font-size: .96rem; }
.dl-g-callout p:last-child { margin-bottom: 0; }
.dl-g-btns { display: flex; flex-wrap: wrap; gap: 8px; }
.dl-ui .dl-g-btn {
	--dl-a: #fff; display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 10px;
	background: var(--t, var(--dl-primary)); color: #fff; font-weight: 700; font-size: .92rem; line-height: 1.2; text-decoration: none; transition: filter .15s;
}
.dl-ui .dl-g-btn:hover { filter: brightness(.92); }
.dl-ui .dl-g-btn--ghost { --dl-a: var(--t, var(--dl-primary)); background: var(--dl-surface); color: var(--t, var(--dl-primary)); border: 1px solid color-mix(in srgb, var(--t, var(--dl-primary)) 35%, #fff); }
.dl-g-btn .dl-ico { width: 17px; height: 17px; }

/* ---------- Χάρτες που φορτώνουν με κλικ ---------- */
.dl-g-embed { position: relative; margin: 0 0 18px; border-radius: 14px; overflow: hidden; border: 1px solid var(--dl-line); background: #0f172a; min-height: 300px; }
.dl-g-embed iframe { display: block; width: 100%; height: var(--h, 560px); border: 0; background: #fff; }
.dl-g-embed__ph {
	display: grid; place-items: center; align-content: center; gap: 12px; min-height: var(--h, 460px); padding: 28px; text-align: center; color: #fff;
	background: radial-gradient(circle at 30% 30%, rgba(234, 88, 12, .45), transparent 55%), radial-gradient(circle at 75% 70%, rgba(220, 38, 38, .35), transparent 50%), #1f2937;
}
.dl-g-embed__ph > .dl-ico { width: 46px; height: 46px; opacity: .9; }
.dl-g-embed__ph strong { font-family: var(--dl-font-head); font-size: 1.3rem; }
.dl-g-embed__ph small { max-width: 52ch; opacity: .85; font-size: .85rem; line-height: 1.5; }
.dl-ui .dl-g-embed__ph button { --dl-btn-bg: #fff; --dl-btn-fg: #111827; --dl-btn-pad: 12px 22px; --dl-btn-radius: 999px; font-weight: 700; }
.dl-ui .dl-g-embed__ph button:hover { --dl-btn-bg: #fde68a; }
.dl-g-embed__bar { display: flex; justify-content: space-between; gap: 10px; padding: 8px 12px; background: var(--dl-bg); font-size: .82rem; color: var(--dl-muted); }
.dl-ui .dl-g-embed__bar a { --dl-a: var(--dl-link); --dl-a-deco: underline; font-weight: 600; }

/* ---------- Βίντεο ---------- */
.dl-g-videos { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 14px; margin: 8px 0 18px; }
.dl-g-yt { margin: 0; }
.dl-g-yt__frame { position: relative; aspect-ratio: 16 / 9; border-radius: 12px; overflow: hidden; background: #111; }
.dl-ui .dl-g-yt__btn { --dl-btn-pad: 0; position: absolute; inset: 0; display: block; width: 100%; height: 100%; cursor: pointer; }
.dl-g-yt__btn img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s, opacity .3s; opacity: .9; }
.dl-g-yt__btn:hover img { transform: scale(1.04); opacity: 1; }
.dl-g-yt__play { position: absolute; left: 50%; top: 50%; width: 58px; height: 40px; margin: -20px 0 0 -29px; border-radius: 12px; background: #dc2626; display: grid; place-items: center; box-shadow: 0 6px 18px rgba(0, 0, 0, .35); }
.dl-g-yt__play::before { content: ""; border-style: solid; border-width: 9px 0 9px 15px; border-color: transparent transparent transparent #fff; margin-left: 3px; }
.dl-g-yt iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.dl-g-yt figcaption { margin-top: 8px; font-size: .9rem; font-weight: 600; line-height: 1.4; color: var(--dl-ink); }
.dl-g-yt figcaption small { display: block; font-weight: 400; color: var(--dl-muted); font-size: .8rem; }

/* ---------- Έντυπα ---------- */
.dl-g-docs { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; margin: 8px 0 18px; }
.dl-ui .dl-g-doc {
	--dl-a: var(--dl-ink); display: grid; grid-template-columns: 46px minmax(0, 1fr); gap: 12px; align-items: center; padding: 14px; border-radius: 12px;
	border: 1px solid var(--dl-line); background: var(--dl-surface); text-decoration: none; transition: border-color .15s, box-shadow .15s, transform .15s;
}
.dl-ui .dl-prose a.dl-g-doc.dl-g-doc { padding: 14px; background-image: none; }
.dl-ui .dl-g-doc:hover { border-color: var(--t, var(--dl-primary)); box-shadow: var(--dl-shadow); transform: translateY(-1px); }
.dl-g-doc__ico { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 10px; background: color-mix(in srgb, var(--t, var(--dl-primary)) 11%, #fff); color: var(--t, var(--dl-primary)); font-size: .68rem; font-weight: 800; letter-spacing: .04em; }
.dl-g-doc__ico .dl-ico { width: 22px; height: 22px; }
.dl-g-doc strong { display: block; color: var(--dl-ink); font-size: .93rem; line-height: 1.35; }
.dl-g-doc small { display: block; margin-top: 3px; color: var(--dl-muted); font-size: .8rem; }

/* ---------- Ανακοινώσεις ---------- */
.dl-ui .dl-prose .dl-g-news { list-style: none; margin: 8px 0 18px; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 14px; }
.dl-ui .dl-prose .dl-g-news > li { margin: 0; }
.dl-ui .dl-g-news__card { --dl-a: var(--dl-ink); display: grid; height: 100%; border: 1px solid var(--dl-line); border-radius: 12px; overflow: hidden; background: var(--dl-surface); text-decoration: none; transition: box-shadow .2s, transform .2s; }
.dl-ui .dl-g-news__card:hover { box-shadow: var(--dl-shadow); transform: translateY(-2px); }
.dl-g-news__img { display: grid; place-items: center; aspect-ratio: 16 / 9; background: var(--dl-bg); color: var(--dl-primary); overflow: hidden; }
.dl-ui .dl-g-news__img img { width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.dl-g-news__img .dl-ico { width: 34px; height: 34px; opacity: .6; }
.dl-g-news__body { display: grid; gap: 6px; padding: 12px 14px 14px; }
.dl-g-news__body time { font-size: .8rem; color: var(--dl-muted); font-weight: 600; }
.dl-g-news__body strong { font-size: .95rem; line-height: 1.4; }

/* ---------- Αρχείο (αναδιπλούμενο) ---------- */
.dl-g-more { margin: 8px 0 18px; border: 1px dashed var(--dl-line); border-radius: 12px; padding: 4px 16px; }
.dl-g-more > summary { cursor: pointer; padding: 10px 0; font-weight: 700; color: var(--dl-muted); }
.dl-g-more[open] > summary { margin-bottom: 8px; }

/* ---------- Tablet / κινητά ---------- */
@media (max-width: 1100px) {
	.dl-guide { grid-template-columns: 236px minmax(0, 1fr); }
	.dl-ui .dl-prose .dl-g-sos { grid-template-columns: repeat(2, 1fr); }
}
/* Κινητό μενού (κλασικές σελίδες ≤900px, Elementor ≤767px) */
@media (max-width: 900px) {
	.dl-guide { display: block; }
	.dl-guide .dl-guide__aside { position: sticky; top: calc(var(--dl-admin-bar, 0px) + 100px); z-index: 20; margin: -6px 0 18px; }
	.dl-guide .dl-guide__sticky { position: static; max-height: none; overflow: visible; }
	.dl-guide .dl-guide__sos { display: none; }
	.dl-guide .dl-guide__toc { box-shadow: 0 6px 18px rgba(0, 0, 0, .08); }
	.dl-guide .dl-guide__toc-head { cursor: pointer; border-bottom: 0; }
	.dl-guide .dl-guide__toc[open] .dl-guide__toc-head { border-bottom: 1px solid var(--dl-line); }
	.dl-guide .dl-guide__toc-head::after { content: ""; margin-left: auto; width: 9px; height: 9px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .2s; }
	.dl-guide .dl-guide__toc[open] .dl-guide__toc-head::after { transform: rotate(-135deg); }
	.dl-guide .dl-guide__toc-cur { display: inline; font-family: var(--dl-font); font-size: .85rem; font-weight: 600; color: var(--dl-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 46vw; }
	.dl-guide .dl-guide__toc-cur:not(:empty)::before { content: "· "; }
	.dl-guide .dl-guide__toc nav { max-height: 60vh; overflow-y: auto; }
	.dl-g-contact { grid-template-columns: 1fr; }
	.dl-guide .dl-g-sec { scroll-margin-top: calc(var(--dl-admin-bar, 0px) + 170px); }
}

/* ---------- Σελίδες Elementor (widgets «ΔΛ – Οδηγός») ---------- */
.dl-gw.dl-prose > * { margin-bottom: 0; }
.elementor-widget-dl-guide-section .dl-g-sec { padding-top: 30px; }
.elementor-widget-dl-guide-sos + .elementor-widget-dl-guide-section .dl-g-sec,
.elementor-widget-wrap > .elementor-widget-dl-guide-section:first-child .dl-g-sec { border-top: 0; padding-top: 6px; }
.dl-g-kicker > :last-child { margin-bottom: 0; }
.dl-g-kicker { max-width: 78ch; }
.dl-g-kicker p { margin: 0 0 .8em; }
.dl-g-card > p:not([class]) { margin: 0 0 10px; font-size: .95rem; }
.dl-guide-nav .dl-guide__sticky { position: static; max-height: none; overflow: visible; }
.elementor-widget-dl-guide-nav:has(.is-sticky) { position: sticky; top: calc(var(--dl-admin-bar, 0px) + 100px); z-index: 5; max-height: calc(100vh - var(--dl-admin-bar, 0px) - 120px); overflow-y: auto; scrollbar-width: thin; }
.dl-has-guide--elementor .dl-epage .elementor-section:has(.elementor-widget-dl-guide-nav) > .elementor-container { align-items: stretch; }
@media (max-width: 767px) {
	/* Το μενού γίνεται μπάρα που μένει στην κορυφή σε όλη τη σελίδα. */
	.elementor-column:has(> .elementor-widget-wrap > .elementor-widget-dl-guide-nav),
	.elementor-column:has(> .elementor-widget-wrap > .elementor-widget-dl-guide-nav) > .elementor-widget-wrap { display: contents; }
	.elementor-widget-dl-guide-nav { width: 100%; }
	.elementor-widget-dl-guide-nav:has(.is-sticky) { top: calc(var(--dl-admin-bar, 0px) + 96px); z-index: 20; max-height: none; overflow: visible; margin-bottom: 14px; }
	.dl-guide-nav .dl-guide__sos { display: none; }
	.dl-guide-nav .dl-guide__toc { box-shadow: 0 6px 18px rgba(0, 0, 0, .08); }
	.dl-guide-nav .dl-guide__toc-head { cursor: pointer; border-bottom: 0; }
	.dl-guide-nav .dl-guide__toc[open] .dl-guide__toc-head { border-bottom: 1px solid var(--dl-line); }
	.dl-guide-nav .dl-guide__toc-head::after { content: ""; margin-left: auto; width: 9px; height: 9px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .2s; }
	.dl-guide-nav .dl-guide__toc[open] .dl-guide__toc-head::after { transform: rotate(-135deg); }
	.dl-guide-nav .dl-guide__toc-cur { display: inline; font-family: var(--dl-font); font-size: .85rem; font-weight: 600; color: var(--dl-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 46vw; }
	.dl-guide-nav .dl-guide__toc-cur:not(:empty)::before { content: "· "; }
	.dl-guide-nav .dl-guide__toc nav { max-height: 60vh; overflow-y: auto; }
	.dl-gw .dl-g-sec { scroll-margin-top: calc(var(--dl-admin-bar, 0px) + 170px); }
}
@media (max-width: 560px) {
	.dl-ui .dl-prose .dl-g-sos { grid-template-columns: 1fr 1fr; gap: 8px; }
	.dl-ui .dl-prose .dl-g-sos li:first-child { grid-column: 1 / -1; }
	.dl-g-sos strong { font-size: 1.6rem; }
	.dl-g-tab { grid-template-columns: 1fr; }
	.dl-g-tablist { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
	.dl-g-tablist::-webkit-scrollbar { display: none; }
	.dl-ui .dl-g-tablist button { flex: 0 0 auto; font-size: .88rem; --dl-btn-pad: 9px 12px; white-space: nowrap; }
	.dl-g-h2ico { width: 40px; height: 40px; border-radius: 12px; }
	.dl-g-embed iframe { height: 440px; }
}
@media print {
	.dl-guide { display: block; }
	.dl-guide__aside, .dl-g-tablist, .dl-g-embed, .dl-g-videos { display: none !important; }
	.dl-g-tabs .dl-g-tab[hidden] { display: grid !important; }
	.dl-g-tabs .dl-g-tab::before { content: attr(data-tab); grid-column: 1 / -1; font-weight: 700; }
}
@media (prefers-reduced-motion: reduce) {
	.dl-g-doc, .dl-g-news__card, .dl-g-sos a, .dl-g-yt__btn img { transition: none; }
}

/* Φωτογραφίες σε ενότητα οδηγού */
.dl-g-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 12px; margin: 6px 0 10px; max-width: none; }
.dl-ui .dl-prose .dl-g-gallery a { display: block; overflow: hidden; border-radius: 12px; aspect-ratio: 35 / 26; background: var(--dl-bg); --dl-a-deco: none; }
.dl-ui .dl-prose .dl-g-gallery img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 0; margin: 0; transition: transform .4s; }
.dl-g-gallery a:hover img { transform: scale(1.05); }
.dl-g-gallery a:focus-visible { outline: 3px solid var(--dl-accent); outline-offset: 2px; }
.dl-g-kicker .dl-g-gallery { max-width: none; }

/* Σημεία στον χάρτη (π.χ. ΚΕΠ) */
.dl-g-points { margin: 18px 0 8px; }
.dl-g-points__map { height: var(--dl-gp-h, 460px); border-radius: var(--dl-radius, 14px); overflow: hidden; box-shadow: var(--dl-shadow); margin-bottom: 18px; background: #e9eef2; }
@media (max-width: 700px) { .dl-g-points__map { height: 320px; } }
.dl-ui ol.dl-g-points__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; }
.dl-g-pt { background: var(--dl-surface, #fff); border-radius: var(--dl-radius, 14px); box-shadow: var(--dl-shadow); padding: 16px 18px; display: flex; flex-direction: column; gap: 10px; margin: 0; }
.dl-g-pt__head { display: flex; gap: 12px; align-items: center; }
.dl-g-pt__n { width: 34px; height: 34px; border-radius: 50%; background: var(--dl-primary); color: #fff; display: grid; place-items: center; font-weight: 700; flex: 0 0 auto; }
.dl-g-pt__area { display: block; font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--dl-accent-text, #8a6a10); }
.dl-ui .dl-g-pt__name { margin: 0; font-size: 1.05rem; line-height: 1.3; }
.dl-ui ul.dl-g-pt__rows { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; font-size: .93rem; }
.dl-g-pt__rows li { display: flex; gap: 9px; align-items: flex-start; margin: 0; padding: 0; }
.dl-g-pt__rows li::before { display: none; }
.dl-g-pt__rows .dl-ico { width: 17px; height: 17px; flex: 0 0 auto; margin-top: 2px; color: var(--dl-primary); }
.dl-g-pt__rows span { overflow-wrap: anywhere; }
.dl-g-pt__note { margin: 0; font-size: .85rem; color: var(--dl-muted); }
.dl-g-pt__links { margin: auto 0 0; display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; font-size: .9rem; font-weight: 700; }
.dl-g-pt__show { font: inherit; font-weight: 700; color: #fff; background: var(--dl-primary); border: 0; border-radius: 999px; padding: 6px 14px; cursor: pointer; }
.dl-g-pt__show:hover, .dl-g-pt__show:focus-visible { background: var(--dl-primary-dark, #620202); }
.dl-g-pt-pin { background: none; border: 0; }
.dl-g-pt-pin span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); background: var(--dl-primary, #7d0302); border: 2px solid #fff; box-shadow: 0 3px 10px rgba(0, 0, 0, .3); color: #fff; font-weight: 700; font-size: 14px; }
.dl-g-pt-pin span { line-height: 1; }
.dl-g-pt-pin span { text-indent: 0; }
.dl-g-pt-pop { display: grid; gap: 3px; font-size: 13px; min-width: 160px; }
.dl-g-pt-pop strong { font-size: 14px; }
.dl-g-pt-pin b { transform: rotate(45deg); font-weight: 700; }

/* Χρονολόγιο (ul.dl-timeline μέσα σε εισαγωγικό κείμενο ενότητας) */
.dl-gs ul.dl-timeline,.elementor-widget-dl-guide-section ul.dl-timeline{list-style:none;margin:1.2em 0 0;padding:0 0 0 22px;border-left:3px solid var(--dl-primary,#7a1a1f);position:relative}
.elementor-widget-dl-guide-section ul.dl-timeline li{position:relative;margin:0 0 1em;padding:.15em 0 0 14px;line-height:1.55}
.elementor-widget-dl-guide-section ul.dl-timeline li::before{content:"";position:absolute;left:-31px;top:.45em;width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid var(--dl-gold,#b8901c);box-sizing:border-box}
.elementor-widget-dl-guide-section ul.dl-timeline li strong{display:block;color:var(--dl-primary,#7a1a1f);font-size:1.05em}
html.dl-hc .elementor-widget-dl-guide-section ul.dl-timeline{border-color:currentColor}

/* Πίνακας στοιχείων (table.dl-table μέσα σε κείμενο ενότητας) */
.dl-g-kicker table.dl-table{width:100%;border-collapse:collapse;margin:1em 0;font-size:.95em;background:#fff;border:1px solid var(--dl-line,#e5dcd6);border-radius:10px;overflow:hidden}
.dl-g-kicker table.dl-table th,.dl-g-kicker table.dl-table td{padding:10px 14px;border-bottom:1px solid var(--dl-line,#e5dcd6);text-align:left;vertical-align:top}
.dl-g-kicker table.dl-table th{width:38%;font-weight:600;color:var(--dl-primary,#7a1a1f);background:var(--dl-bg,#faf6f3)}
.dl-g-kicker table.dl-table tr:last-child th,.dl-g-kicker table.dl-table tr:last-child td{border-bottom:0}
@media (max-width:600px){.dl-g-kicker table.dl-table th,.dl-g-kicker table.dl-table td{display:block;width:auto}.dl-g-kicker table.dl-table th{border-bottom:0;padding-bottom:2px}}

/* ==========================================================================
   Μενού ενότητας (dl-guide-menu) – π.χ. «Ο Δήμος»
   ========================================================================== */
.dl-gmenu.is-sticky { position: sticky; top: calc(var(--dl-admin-bar, 0px) + 100px); }
.elementor-widget-dl-guide-menu { height: 100%; }
.elementor-column:has(> .elementor-widget-wrap > .elementor-widget-dl-guide-menu) > .elementor-widget-wrap { align-content: flex-start; height: 100%; }
.dl-gmenu__box { border: 1px solid var(--dl-line); border-radius: 14px; background: var(--dl-surface); overflow: hidden; box-shadow: var(--dl-shadow, none); }
.dl-ui .dl-gmenu__head {
	display: flex; align-items: center; gap: 10px; margin: 0; padding: 14px 16px;
	font-family: var(--dl-font-head); font-weight: 700; font-size: 1.05rem; color: #fff;
	background: linear-gradient(135deg, var(--dl-primary), color-mix(in srgb, var(--dl-primary) 70%, #000));
	border-bottom: 3px solid var(--dl-accent, #b8901c);
}
.dl-gmenu__head .dl-ico { width: 20px; height: 20px; }
.dl-ui .dl-gmenu__list { list-style: none; margin: 0; padding: 8px; display: grid; gap: 2px; }
.dl-ui .dl-gmenu__list > li { margin: 0; }
.dl-ui .dl-gmenu__list a {
	--dl-a: var(--dl-ink); display: flex; align-items: center; gap: 10px; padding: 10px 10px; border-radius: 9px;
	font-size: .95rem; font-weight: 600; line-height: 1.3; text-decoration: none; border-left: 3px solid transparent;
	transition: background .15s, color .15s;
}
.dl-gmenu__n {
	flex: 0 0 auto; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%;
	font-size: .8rem; font-weight: 700; color: var(--dl-primary); background: color-mix(in srgb, var(--dl-primary) 9%, #fff);
}
@media (hover: hover) { .dl-ui .dl-gmenu__list a:hover { background: var(--dl-bg); --dl-a: var(--dl-primary); } }
.dl-ui .dl-gmenu__list a.is-current { --dl-a: var(--dl-primary); background: color-mix(in srgb, var(--dl-primary) 9%, #fff); border-left-color: var(--dl-primary); }
.dl-gmenu__list a.is-current .dl-gmenu__n { color: #fff; background: var(--dl-primary); }
html.dl-hc .dl-gmenu__box, html.dl-hc .dl-gmenu__head { background: #000 !important; color: #fff !important; border-color: #fff !important; }
html.dl-hc .dl-ui .dl-gmenu__list a { --dl-a: #ffeb3b; }
@media (max-width: 767px) { .dl-gmenu.is-sticky { position: static; } .elementor-widget-dl-guide-menu { height: auto; } }

/* ==========================================================================
   Κάρτες με λογότυπο (dl-guide-cards) – π.χ. «Συμμετοχή σε Δίκτυα»
   ========================================================================== */
.dl-ui .dl-gcards__title { margin: 0 0 10px; font-family: var(--dl-font-head); color: var(--dl-primary); font-size: clamp(1.4rem, 2.2vw, 1.8rem); }
.dl-gcards__intro { max-width: 78ch; margin-bottom: 22px; font-size: 1.05rem; line-height: 1.7; }
.dl-gcards__intro p:last-child { margin-bottom: 0; }
.dl-gcards__grid { display: grid; grid-template-columns: repeat(var(--cols, 2), minmax(0, 1fr)); gap: 22px; }
.dl-gcards__card {
	position: relative; display: flex; flex-direction: column; gap: 14px; padding: 24px 24px 22px; border-radius: 16px;
	background: var(--dl-surface, #fff); border: 1px solid var(--dl-line); box-shadow: 0 1px 2px rgba(0,0,0,.04);
	border-top: 4px solid var(--dl-primary); transition: box-shadow .2s, transform .2s;
}
@media (hover: hover) { .dl-gcards__card:hover { box-shadow: 0 12px 28px -14px rgba(0,0,0,.28); transform: translateY(-2px); } }
.dl-gcards__head { display: flex; flex-direction: column; align-items: center; gap: 14px; text-align: center; padding-bottom: 14px; border-bottom: 1px solid var(--dl-line); }
.dl-gcards__logo {
	width: 100%; height: 120px; display: flex; align-items: center; justify-content: center; padding: 10px 16px; border-radius: 12px;
	background: #fff; overflow: hidden;
}
.dl-gcards__logo img { display: block; max-width: min(100%, 300px); max-height: 100%; width: auto; height: auto; object-fit: contain; }
.dl-gcards__logo.is-badge { background: transparent; }
.dl-gcards__logo.is-badge span {
	display: grid; place-items: center; width: 92px; height: 92px; border-radius: 50%;
	color: #fff; font-family: var(--dl-font-head); font-weight: 700; font-size: 1.5rem; letter-spacing: .02em;
	background: linear-gradient(135deg, var(--dl-primary), color-mix(in srgb, var(--dl-primary) 65%, #000));
	box-shadow: inset 0 -4px 0 var(--dl-accent, #b8901c);
}
.dl-ui .dl-gcards__eyebrow { margin: 0 0 4px; color: var(--dl-accent-text, #8a6a10); font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.dl-ui .dl-gcards__name { margin: 0; font-family: var(--dl-font-head); font-size: 1.22rem; line-height: 1.3; color: var(--dl-primary); }
.dl-gcards__text { font-size: .97rem; line-height: 1.65; }
.dl-gcards__text p { margin: 0 0 10px; }
.dl-gcards__text p:last-child { margin-bottom: 0; }
.dl-ui .dl-gcards__facts { margin: 0; padding: 12px 14px; display: grid; gap: 6px; border-radius: 10px; background: var(--dl-bg); font-size: .9rem; }
.dl-gcards__facts > div { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 10px; align-items: baseline; }
.dl-gcards__facts > div > dd:only-child { grid-column: 1 / -1; }
.dl-ui .dl-gcards__facts dt { margin: 0; font-weight: 700; font-size: .78rem; letter-spacing: .04em; text-transform: uppercase; color: var(--dl-primary); }
.dl-ui .dl-gcards__facts dd { margin: 0; }
.dl-ui .dl-gcards__actions { margin: auto 0 0; padding-top: 4px; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.dl-ui .dl-gcards__btn {
	--dl-a: #fff; display: inline-flex; align-items: center; gap: 6px; padding: 9px 16px; border-radius: 999px;
	background: var(--dl-primary); border: 1px solid var(--dl-primary); color: #fff; font-weight: 600; font-size: .9rem; text-decoration: none;
}
.dl-ui .dl-gcards__btn.is-ghost { --dl-a: var(--dl-primary); background: transparent; color: var(--dl-primary); }
@media (hover: hover) { .dl-ui .dl-gcards__btn:hover { filter: brightness(1.1); } .dl-ui .dl-gcards__btn.is-ghost:hover { background: color-mix(in srgb, var(--dl-primary) 8%, #fff); filter: none; } }
html.dl-hc .dl-gcards__card { background: #000 !important; border-color: #fff !important; }
@media (max-width: 900px) { .dl-gcards__grid { grid-template-columns: repeat(min(var(--cols, 2), 2), minmax(0, 1fr)); } }
@media (max-width: 640px) { .dl-gcards__facts > div { grid-template-columns: 1fr; gap: 0; } .dl-gcards__grid { grid-template-columns: 1fr; } .dl-gcards__card { padding: 20px; } .dl-gcards__logo { height: 100px; } }

/* Κάρτες με φωτογραφία σε όλο το πλάτος (π.χ. Δημοτικές Ενότητες) */
.dl-gcards--cover .dl-gcards__card { overflow: hidden; }
.dl-gcards--cover .dl-gcards__head { gap: 12px; }
.dl-gcards--cover .dl-gcards__logo { width: calc(100% + 48px); height: 210px; margin: -24px -24px 6px; padding: 0; border-radius: 0; background: var(--dl-bg); }
.dl-gcards--cover .dl-gcards__logo img { width: 100%; height: 100%; max-width: none; max-height: none; object-fit: cover; }
.dl-gcards--cover .dl-gcards__logo.is-badge { background: linear-gradient(135deg, var(--dl-primary), color-mix(in srgb, var(--dl-primary) 65%, #000)); }
@media (max-width: 640px) { .dl-gcards--cover .dl-gcards__logo { width: calc(100% + 40px); margin: -20px -20px 6px; height: 180px; } }
.dl-gcards__intro table.dl-table { width: 100%; border-collapse: collapse; margin: 1em 0; font-size: .95em; background: #fff; border: 1px solid var(--dl-line); }
.dl-gcards__intro table.dl-table th, .dl-gcards__intro table.dl-table td { padding: 10px 14px; border-bottom: 1px solid var(--dl-line); text-align: left; vertical-align: top; }
.dl-gcards__intro table.dl-table th { width: 38%; font-weight: 600; color: var(--dl-primary); background: var(--dl-bg); }

/* Οι κάρτες προσαρμόζονται στο πλάτος της στήλης (π.χ. tablet με πλαϊνό μενού) */
.dl-gcards { container-type: inline-size; }
@container (max-width: 600px) { .dl-gcards__grid { grid-template-columns: 1fr; } }

/* Κάρτες σε δύο στήλες: κλάση dl-split στο widget (π.χ. Δημοτικό Συμβούλιο: παράταξη | μέλη) */
.dl-split .dl-gcards { container-type: inline-size; }
.dl-split .dl-gcards__card { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(0, 1.5fr); grid-template-areas: "head text" "facts text" "actions text"; column-gap: 28px; row-gap: 14px; align-items: start; }
.dl-split .dl-gcards__head { grid-area: head; }
.dl-split .dl-gcards__facts { grid-area: facts; }
.dl-split .dl-gcards__actions { grid-area: actions; }
.dl-split .dl-gcards__text { grid-area: text; align-self: stretch; padding-left: 28px; border-left: 1px solid var(--dl-line, #e3e6ea); }
.dl-split .dl-gcards__text h4 { margin: 0 0 8px; font-family: var(--dl-font-head); font-size: 1.05rem; color: var(--dl-primary); }
.dl-split .dl-members { list-style: none; margin: 0; padding: 0; counter-reset: dlm; }
.dl-split .dl-members li { counter-increment: dlm; display: flex; align-items: baseline; gap: 10px; padding: 7px 0; border-bottom: 1px solid var(--dl-line, #e3e6ea); }
.dl-split .dl-members li:last-child { border-bottom: 0; }
.dl-split .dl-members li::before { content: counter(dlm); min-width: 1.6em; font-size: .78rem; font-weight: 700; color: var(--dl-primary); opacity: .7; }
.dl-split .dl-members__name { font-weight: 600; }
.dl-split .dl-members__role { margin-left: auto; font-size: .8rem; color: #5b6470; text-align: right; }
@media (hover: hover) { .dl-split .dl-gcards__card:hover { transform: none; } }
@container (max-width: 640px) {
	.dl-split .dl-gcards__card { grid-template-columns: 1fr; grid-template-areas: "head" "facts" "text" "actions"; }
	.dl-split .dl-gcards__text { padding-left: 0; padding-top: 14px; border-left: 0; border-top: 1px solid var(--dl-line, #e3e6ea); }
}
html.dl-hc .dl-split .dl-members__role { color: #fff; }

/* Κάρτες Κοινοτήτων (Συμβούλια Δημοτικών Κοινοτήτων): κλάση dl-comm στο widget «ΔΛ – Κάρτες με λογότυπο» */
.dl-comm .dl-gcards { container-type: inline-size; }
.dl-comm .dl-gcards__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.dl-comm .dl-gcards__card { padding: 16px 16px 12px; gap: 8px; }
.dl-comm .dl-gcards__logo { display: none; }
.dl-comm .dl-gcards__head { align-items: flex-start; text-align: left; gap: 0; padding-bottom: 10px; }
.dl-comm .dl-gcards__name { font-size: 1.05rem; }
.dl-comm .dl-members { list-style: none; margin: 0; padding: 0; }
.dl-comm .dl-members li { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 7px 0; border-bottom: 1px solid var(--dl-line, #e3e6ea); font-size: .86rem; line-height: 1.35; }
.dl-comm .dl-members li:last-child { border-bottom: 0; }
.dl-comm .dl-members__name { font-weight: 600; }
.dl-comm .dl-members__role { flex: 0 0 auto; font-size: .66rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #5b6470; }
.dl-comm .dl-members li:first-child .dl-members__role { padding: 3px 8px; border-radius: 999px; background: var(--dl-primary); color: #fff; }
@media (hover: hover) { .dl-comm .dl-gcards__card:hover { transform: none; } }
@container (max-width: 620px) { .dl-comm .dl-gcards__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@container (max-width: 440px) { .dl-comm .dl-gcards__grid { grid-template-columns: 1fr; } }
html.dl-hc .dl-comm .dl-members__role { color: #fff; }

/* Κάρτες προσώπων χωρίς κύκλο αρχικών· ο μικρός τίτλος κάτω από το όνομα: κλάση dl-staff */
.dl-staff .dl-gcards__head > .dl-gcards__logo { display: none; }
.dl-staff .dl-gcards__head { align-items: flex-start; text-align: left; gap: 0; }
.dl-staff .dl-gcards__head > div:last-child { display: flex; flex-direction: column-reverse; gap: 4px; }
.dl-staff .dl-gcards__eyebrow { margin: 0; }

/* Φωτογραφίες Αντιδημάρχων: όρθια φωτογραφία με χρυσή κορνίζα μετατοπισμένη πίσω (widgets ad0002 Αντιδήμαρχοι, am0002 Άμισθοι Αντιδήμαρχοι) */
:is(.elementor-element-ad0002, .elementor-element-am0002) .dl-gcards__logo:not(.is-badge) { position: relative; width: auto; height: auto; padding: 0; margin: 0 10px 10px 0; background: transparent; border-radius: 0; overflow: visible; }
:is(.elementor-element-ad0002, .elementor-element-am0002) .dl-gcards__logo:not(.is-badge)::before { content: ""; position: absolute; inset: 0; border: 2px solid var(--dl-accent, #b8901c); border-radius: 10px; transform: translate(10px, 10px); }
:is(.elementor-element-ad0002, .elementor-element-am0002) .dl-gcards__logo:not(.is-badge) img { position: relative; width: 170px; height: auto; aspect-ratio: 200 / 244; max-width: 100%; max-height: none; object-fit: cover; object-position: center top; padding: 0; background: none; border-radius: 10px; box-shadow: 0 8px 18px -12px rgba(0,0,0,.5); }

/* Χάρτης με σημεία και κάρτες 3 ανά γραμμή: κλάση dl-pts3 στο widget «ΔΛ – Ενότητα οδηγού» */
.dl-pts3 .dl-g-points { container-type: inline-size; }
.dl-ui .dl-pts3 ol.dl-g-points__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@container (max-width: 680px) { .dl-ui .dl-pts3 ol.dl-g-points__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@container (max-width: 440px) { .dl-ui .dl-pts3 ol.dl-g-points__list { grid-template-columns: 1fr; } }

/* Μενού ενότητας: σύμπτυξη στο κινητό (όπως το μενού «Σε αυτή τη σελίδα») */
.dl-ui .dl-gmenu__head { list-style: none; }
.dl-gmenu__head::-webkit-details-marker { display: none; }
.dl-gmenu__cur { display: none; }
@media (max-width: 767px) {
	.elementor-column:has(> .elementor-widget-wrap > .elementor-widget-dl-guide-menu),
	.elementor-column:has(> .elementor-widget-wrap > .elementor-widget-dl-guide-menu) > .elementor-widget-wrap { display: contents; }
	.elementor-widget-dl-guide-menu { width: 100%; margin-bottom: 14px; }
	.elementor-widget-dl-guide-menu:has(.is-sticky) { position: sticky; top: calc(var(--dl-admin-bar, 0px) + 96px); z-index: 20; }
	.dl-gmenu__box { box-shadow: 0 6px 18px rgba(0, 0, 0, .12); }
	.dl-ui .dl-gmenu__head { cursor: pointer; padding: 12px 14px; font-size: 1rem; border-bottom-width: 0; }
	.dl-gmenu__box[open] > .dl-gmenu__head { border-bottom-width: 3px; }
	.dl-gmenu__head > span:first-of-type { flex: 0 0 auto; }
	.dl-gmenu__cur { display: block; flex: 1 1 auto; min-width: 0; font-family: var(--dl-font); font-size: .85rem; font-weight: 600; color: rgba(255, 255, 255, .85); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.dl-gmenu__cur::before { content: "· "; }
	.dl-gmenu__head::after { content: ""; flex: 0 0 auto; margin-left: auto; width: 9px; height: 9px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .2s; }
	.dl-gmenu__box[open] > .dl-gmenu__head::after { transform: translateY(2px) rotate(-135deg); }
	.dl-ui .dl-gmenu__list { max-height: 60vh; overflow-y: auto; }
}


/* Κάρτα Δημάρχου: κείμενο αριστερά, φωτογραφία δεξιά: κλάση dl-mayor στο widget «ΔΛ – Κάρτες με λογότυπο» */
.dl-mayor .dl-gcards { container-type: inline-size; }
.dl-mayor .dl-gcards__card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, 300px); grid-template-areas: "head photo" "text photo" "facts photo"; grid-template-rows: auto auto 1fr; column-gap: 36px; row-gap: 14px; align-items: start; }
.dl-mayor .dl-gcards__head { display: contents; }
.dl-mayor .dl-gcards__head > .dl-gcards__logo { grid-area: photo; align-self: stretch; justify-self: stretch; min-height: 320px; }
.dl-mayor .dl-gcards__head > div:last-child { grid-area: head; text-align: left; padding-bottom: 12px; border-bottom: 1px solid var(--dl-line, #e3e6ea); }
.dl-mayor .dl-gcards__name { font-size: 1.5rem; }
.dl-mayor .dl-gcards__text { grid-area: text; }
.dl-mayor .dl-gcards__facts { grid-area: facts; }
.dl-mayor .dl-gcards__facts > div { grid-template-columns: 1fr; gap: 2px; }
.dl-mayor .dl-gcards__facts > div + div { padding-top: 8px; border-top: 1px solid var(--dl-line, #e3e6ea); }
.dl-mayor .dl-gcards__logo:not(.is-badge) img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; min-height: 0; max-width: none; aspect-ratio: auto; object-position: 50% 15%; }
@media (hover: hover) { .dl-mayor .dl-gcards__card:hover { transform: none; } }
@container (max-width: 560px) {
	.dl-mayor .dl-gcards__card { grid-template-columns: 1fr; grid-template-areas: "photo" "head" "text" "facts"; grid-template-rows: none; }
	.dl-mayor .dl-gcards__head > .dl-gcards__logo { justify-self: center; align-self: start; min-height: 0; }
	.dl-mayor .dl-gcards__logo:not(.is-badge) img { position: relative; inset: auto; width: 260px; height: auto; max-width: 100%; aspect-ratio: 200 / 244; }
	.dl-mayor .dl-gcards__head > div:last-child { text-align: center; }
}

/* Κάρτες ενότητας οδηγού 3 ανά γραμμή: κλάση dl-c3 στο widget «ΔΛ – Ενότητα οδηγού» */
.dl-c3 .dl-g-contact { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 767px) { .dl-c3 .dl-g-contact { grid-template-columns: 1fr; } }
/* Κουμπιά οδηγού που οδηγούν σε αρχείο (PDF, DOCX…): ίδια εμφάνιση με τα υπόλοιπα, χωρίς το εικονίδιο συνημμένου */
.dl-ui .dl-prose a.dl-g-btn[href] { padding: 10px 16px; background-image: none; background-color: var(--t, var(--dl-primary)); }
.dl-ui .dl-prose a.dl-g-btn--ghost[href] { background-color: var(--dl-surface); }

/* Φωτογραφία μέσα στο κείμενο ενότητας οδηγού: <figure class="dl-g-photo dl-g-photo--right"> */
.dl-g-kicker { display: flow-root; }
.dl-g-photo { margin: 6px 0 18px; }
.dl-g-photo img { display: block; width: 100%; height: auto; border-radius: 12px; box-shadow: 0 10px 24px -16px rgba(0,0,0,.55); }
.dl-g-photo figcaption { margin-top: 6px; font-size: .82rem; color: var(--dl-muted); }
@media (min-width: 900px) { .dl-g-photo--right { float: right; width: 46%; margin: 4px 0 14px 26px; } }
/* Μικρό λογότυπο μέσα σε κάρτα: <img class="dl-g-logo"> */
.dl-ui .dl-g-card img.dl-g-logo { display: block; width: 88px; height: auto; margin: 0 0 10px; }

/* Κάρτες νέων: ημερομηνία/τίτλος στοιχισμένα πάνω, υπογράμμιση μόνο στον τίτλο, «Περισσότερα νέα…» */
.dl-ui .dl-g-news__card, .dl-ui .dl-prose a.dl-g-news__card { --dl-a-deco: none; grid-template-rows: auto 1fr; align-content: start; }
.dl-ui .dl-g-news__body { align-content: start; }
.dl-ui .dl-g-news__card:hover strong, .dl-ui .dl-g-news__card:focus-visible strong { text-decoration: underline; text-underline-offset: 3px; }
.dl-ui .dl-prose .dl-g-news > li[hidden] { display: none; }
.dl-g-news__more { margin: 4px 0 18px; text-align: center; }
.dl-g-news__more[hidden] { display: none; }
.dl-ui button.dl-g-news__morebtn { --dl-btn-bg: var(--dl-surface); --dl-btn-fg: var(--dl-ink); --dl-btn-border: 1px solid var(--dl-line); --dl-btn-pad: 11px 22px; --dl-btn-radius: 999px; display: inline-flex; align-items: center; gap: 6px; padding: 11px 22px; border: 1px solid var(--dl-line); border-radius: 999px; background: var(--dl-surface); color: var(--dl-ink); font-size: .95rem; font-weight: 600; line-height: 1.2; cursor: pointer; transition: background .15s, border-color .15s; }
.dl-ui button.dl-g-news__morebtn:hover, .dl-ui button.dl-g-news__morebtn:focus-visible { --dl-btn-bg: var(--dl-bg); --dl-btn-border: 1px solid var(--dl-primary); background: var(--dl-bg); border-color: var(--dl-primary); }
