/* nipia.uoa.gr — consent banner, third-party placeholders, legal links, legal pages, accessibility panel (project-defaults 20). */

/* ── Consent banner (bottom-left) ───────────────────────────── */
#nipia-consent {
  position: fixed; left: 16px; bottom: 16px; z-index: 100001; max-width: 420px; width: calc(100% - 32px);
  background: #fff; color: #222; border-radius: 15px; padding: 18px 20px; box-shadow: 0 8px 30px rgba(0,0,0,.25);
  font-family: Comfortaa, Roboto, sans-serif; font-size: 14px; line-height: 1.5; border-top: 5px solid #FF00AD;
}
#nipia-consent h2 { font-size: 17px; margin: 0 0 8px; color: #C4008A; font-family: Comfortaa, Roboto, sans-serif; }
#nipia-consent p { margin: 0 0 12px; }
#nipia-consent a { color: #0a5e8c; text-decoration: underline; }
.nipia-consent-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.nipia-consent-settings { margin: 0 0 12px; padding: 10px 12px; background: #f6f6f6; border-radius: 8px; }
.nipia-consent-settings label { display: block; margin: 0 0 6px; }
.nipia-consent-settings input { margin-right: 6px; width: 18px; height: 18px; vertical-align: -3px; }
/* «Αποδοχή» and «Απόρριψη» equally visible (ΑΠΔΠΧ) */
.nipia-btn {
  font: inherit; font-weight: 700; min-height: 44px; padding: 10px 16px; border-radius: 8px; cursor: pointer;
  background: #C4008A; color: #fff; border: 2px solid #C4008A;
}
.nipia-btn:hover, .nipia-btn:focus-visible { background: #A80074; border-color: #A80074; }
.nipia-btn-link { background: #fff; color: #c4008a; }
.nipia-btn-link:hover, .nipia-btn-link:focus-visible { background: #fff0f9; color: #c4008a; }
#nipia-consent :focus-visible, .nipia-gate :focus-visible { outline: 3px solid #0a5e8c; outline-offset: 2px; }

/* ── Third-party content before consent ─────────────────────── */
iframe[data-nipia-src] { display: none !important; }
.nipia-gate {
  border: 2px dashed #6EC1E4; border-radius: 12px; background: #f2fbff; padding: 20px; margin: 10px 0; text-align: center;
  font-family: Comfortaa, Roboto, sans-serif; font-size: 14px; color: #333; line-height: 1.5;
}
.nipia-gate p { margin: 0 0 10px; }
.nipia-gate a { color: #0a5e8c; text-decoration: underline; }

/* ── Footer: «Που θα μας βρείτε» sized to its content + «Νομικά & Χρήσιμα» card below (same card styles) ── */
.elementor-41 .elementor-element.elementor-element-2458503.elementor-column { flex-direction: column; }
.elementor-41 .elementor-element.elementor-element-2458503 > .elementor-widget-wrap { flex-grow: 0; }
.nipia-legal-card .elementor-nav-menu { list-style: none; margin: 0; padding: 0; }
.nipia-legal-card .elementor-nav-menu--main .elementor-item { display: inline-block; }

/* ── Legal pages ────────────────────────────────────────────── */
.nipia-legal-page { max-width: 900px; margin: 0 auto; padding: 30px 20px 60px; font-family: Comfortaa, Roboto, sans-serif; line-height: 1.7; color: #222; }
.nipia-legal-page h1 { color: #FF00AD; font-size: 32px; }
.nipia-legal-page h2 { font-size: 20px; margin-top: 28px; color: #0a5e8c; }
.nipia-legal-page table { border-collapse: collapse; width: 100%; margin: 10px 0; }
.nipia-legal-page th, .nipia-legal-page td { border: 1px solid #ddd; padding: 8px; text-align: left; vertical-align: top; }
.nipia-legal-page .meta { color: #555; font-size: 13px; }
.nipia-draft {
  background: #fff4cc; border: 2px solid #e0a800; border-radius: 10px; padding: 12px 16px; margin: 0 0 20px; font-weight: 700;
}
.nipia-todo { background: #fff4cc; outline: 1px dashed #e0a800; padding: 0 3px; }

/* ── Accessibility panel (floating mid-right) ───────────────── */
#a11y-toggle {
  position: fixed; right: 0; top: 50%; transform: translateY(-50%); width: 48px; height: 48px; padding: 0; border: 0;
  background: #C4008A; color: #fff; cursor: pointer; border-radius: 10px 0 0 10px; z-index: 100002;
  display: flex; align-items: center; justify-content: center; box-shadow: -2px 2px 8px rgba(0,0,0,.25);
}
#a11y-toggle:hover, #a11y-toggle:focus-visible { background: #A80074; outline: 3px solid #0a5e8c; outline-offset: 2px; }
#a11y-panel {
  position: fixed; right: 0; top: 0; height: 100vh; width: 360px; max-width: 100vw; background: #fff; color: #111; z-index: 100003;
  overflow-y: auto; box-shadow: -4px 0 16px rgba(0,0,0,.2); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; font-size: 14px;
}
#a11y-panel[hidden] { display: none; }
#a11y-panel header { position: sticky; top: 0; background: #fff; padding: 16px 20px; border-bottom: 1px solid #e5e5e5; display: flex; align-items: center; gap: 8px; }
#a11y-panel header h2 { margin: 0; flex: 1; font-size: 17px; color: #111; }
#a11y-panel header button { background: transparent; border: 1px solid #999; border-radius: 4px; padding: 6px 10px; font-size: 13px; cursor: pointer; min-height: 32px; }
#a11y-panel #a11y-close { font-size: 22px; line-height: 1; padding: 0 10px; }
#a11y-panel section { padding: 12px 20px; border-bottom: 1px solid #f0f0f0; }
#a11y-panel section h3 { margin: 0 0 10px; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: #555; }
#a11y-panel .a11y-statement { padding: 12px 20px 24px; margin: 0; }
#a11y-panel .a11y-statement a { color: #0a5e8c; text-decoration: underline; }
#a11y-panel :focus-visible { outline: 3px solid #0a5e8c; outline-offset: 2px; }
.a11y-row { display: flex; align-items: center; justify-content: space-between; padding: 6px 0; gap: 8px; }
.a11y-label { flex: 1; font-size: 13px; }
.a11y-tgl { position: relative; width: 40px; height: 24px; padding: 0; border: 0; background: #999; border-radius: 12px; cursor: pointer; }
.a11y-tgl.on { background: #FF00AD; }
.a11y-knob { position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; background: #fff; border-radius: 50%; transition: left .2s; }
.a11y-tgl.on .a11y-knob { left: 19px; }
.a11y-seg { display: flex; }
.a11y-seg button { border: 1px solid #999; background: #fff; padding: 4px 10px; font-size: 13px; cursor: pointer; min-width: 34px; min-height: 30px; }
.a11y-seg button:not(:last-child) { border-right: 0; }
.a11y-seg button:first-child { border-radius: 4px 0 0 4px; }
.a11y-seg button:last-child { border-radius: 0 4px 4px 0; }
.a11y-seg button.on { background: #C4008A; color: #fff; border-color: #C4008A; }

html.a11y-font-large body { zoom: 1.1; }
html.a11y-font-xlarge body { zoom: 1.25; }
html.a11y-letter-wide * { letter-spacing: .05em !important; }
html.a11y-letter-wider * { letter-spacing: .10em !important; }
html.a11y-line-wide * { line-height: 1.7 !important; }
html.a11y-line-wider * { line-height: 2.0 !important; }
html.a11y-word-spacing * { word-spacing: .16em !important; }
html.a11y-bold-all * { font-weight: 600 !important; }
html.a11y-dyslexia-font * { font-family: "OpenDyslexic", "Atkinson Hyperlegible", "Comic Sans MS", Verdana, sans-serif !important; }
html.a11y-contrast { filter: contrast(1.4); }
html.a11y-grayscale { filter: grayscale(1); }
html.a11y-invert { filter: invert(1) hue-rotate(180deg); }
html.a11y-invert img, html.a11y-invert video { filter: invert(1) hue-rotate(180deg); }
html.a11y-cb-protanopia { filter: url('#a11y-cb-protanopia'); }
html.a11y-cb-deuteranopia { filter: url('#a11y-cb-deuteranopia'); }
html.a11y-cb-tritanopia { filter: url('#a11y-cb-tritanopia'); }
html.a11y-underline-links a { text-decoration: underline !important; }
html.a11y-highlight-links a { outline: 2px solid #FF00AD !important; outline-offset: 2px; background: rgba(255,0,173,.08) !important; }
html.a11y-highlight-headings :is(h1,h2,h3,h4,h5,h6) { outline: 2px dashed #FF00AD !important; outline-offset: 4px; }
html.a11y-big-cursor, html.a11y-big-cursor * {
  cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'><path d='M4 4 L4 32 L12 24 L18 36 L22 34 L16 22 L28 22 Z' fill='%23FF00AD' stroke='%23000' stroke-width='1.5'/></svg>") 4 4, auto !important;
}
html.a11y-big-targets :is(a,button,input,select,textarea) { min-height: 44px !important; min-width: 44px !important; }
html.a11y-visible-focus :focus, html.a11y-visible-focus :focus-visible { outline: 3px solid #0a5e8c !important; outline-offset: 2px !important; box-shadow: 0 0 0 6px rgba(10,94,140,.3) !important; }
html.a11y-reduce-motion *, html.a11y-reduce-motion *::before, html.a11y-reduce-motion *::after {
  animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important;
}
html.a11y-pause-animations *, html.a11y-pause-animations *::before, html.a11y-pause-animations *::after { animation-play-state: paused !important; }
html.a11y-hide-images img, html.a11y-hide-images video, html.a11y-hide-images [style*="background-image"] { visibility: hidden !important; }
#a11y-reading-guide { position: fixed; left: 0; right: 0; height: 2px; background: #FF00AD; box-shadow: 0 0 8px rgba(255,0,173,.6); pointer-events: none; z-index: 100000; top: 50%; }
#a11y-reading-mask {
  position: fixed; inset: 0; pointer-events: none; z-index: 100000; --ay: 50%;
  background: linear-gradient(to bottom, rgba(0,0,0,.75) 0, rgba(0,0,0,.75) calc(var(--ay) - 60px), transparent calc(var(--ay) - 30px),
    transparent calc(var(--ay) + 30px), rgba(0,0,0,.75) calc(var(--ay) + 60px), rgba(0,0,0,.75) 100%);
}
html.a11y-tts-active * { cursor: help; }
@media (max-width: 767px) {
  #nipia-consent { left: 8px; bottom: 8px; width: calc(100% - 16px); max-height: 80vh; overflow-y: auto; }
  #a11y-toggle { width: 44px; height: 44px; }
}
/* no empty 16:9 box while the embed waits for consent */
.wp-block-embed__wrapper:has(iframe[data-nipia-src])::before { display: none !important; padding-top: 0 !important; }
.wp-has-aspect-ratio .wp-block-embed__wrapper:has(iframe[data-nipia-src]) { position: static; }
