/* ΠΑΡΑΓΟΜΕΝΟ: αντίγραφο του design/assets/css/style.css. Οι αλλαγές γίνονται ΕΚΕΙ
   και μετά τρέχει το wp/tools/build-wp.js. */
/* Κάθε επιλογέας έχει μπροστά το «body.yg»: βλ. wp-reset.css για το γιατί. */
/* ============================================================
   Διαγνωστικά Κέντρα «ΥΓΕΙΑ» — ανακατασκευή
   Noema Web Cooperation · 2026
   Brand tokens από το Elementor kit του υπάρχοντος site.
   ============================================================ */

:root {
  --blue-900: #0d3b4f;
  --blue-700: #155d7b;
  --blue-500: #5da2bf;
  --blue-100: #e3eef3;
  --blue-050: #f2f7f9;

  --sand-600: #8f8060;
  --sand-500: #bbae8e;
  --sand-100: #f2eee4;

  --ink-900: #151a1c;
  --ink-600: #4a5559;
  --ink-400: #6b7275;
  --line: #e2e7ea;
  --paper: #ffffff;
  --paper-2: #f6f8f9;
  --slate: #1f272b;

  --red-600: #b3261e;

  --font: "Fira Sans", -apple-system, "Segoe UI", Roboto, Arial, sans-serif;

  --wrap: 1180px;
  --gutter: clamp(18px, 4vw, 40px);
  --sec-y: clamp(52px, 7vw, 92px);
  --r-sm: 8px;
  --r-md: 14px;
  --r-lg: 20px;

  --shadow-sm: 0 1px 2px rgba(21, 26, 28, .06), 0 4px 14px rgba(21, 26, 28, .05);
  --shadow-md: 0 10px 34px rgba(13, 59, 79, .12);
}

body.yg *, body.yg *::before, body.yg *::after { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  scroll-padding-top: 92px;
  overflow-x: clip;
}
/* Ομαλή κύλιση (Lenis, app.js §7): όσο τρέχει, η κύλιση γίνεται καρέ-καρέ από το script.
   Το «scroll-behavior: smooth» θα έκανε κάθε καρέ ξεχωριστή κίνηση — γι' αυτό σβήνει εδώ. */
html.lenis, html.lenis body { height: auto; }
html.lenis.lenis-smooth { scroll-behavior: auto !important; }
html.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
html.lenis.lenis-stopped { overflow: hidden; }
html.lenis.lenis-scrolling iframe { pointer-events: none; }   /* ο χάρτης δεν «πιάνει» τη ροδέλα στη μέση της κύλισης */

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  body.yg *, body.yg *::before, body.yg *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; }
}

body.yg {
  margin: 0;
  font-family: var(--font);
  font-size: 17px;
  line-height: 1.65;
  color: var(--ink-600);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
}

body.yg img, body.yg svg { max-width: 100%; height: auto; display: block; }
body.yg a { color: var(--blue-700); text-decoration: none; }
body.yg a:hover { text-decoration: underline; }

body.yg h1, body.yg h2, body.yg h3, body.yg h4 { color: var(--ink-900); font-weight: 600; line-height: 1.2; margin: 0 0 .5em; letter-spacing: -.012em; }
body.yg h1 { font-size: clamp(1.9rem, 4.2vw, 3rem); font-weight: 700; }
body.yg h2 { font-size: clamp(1.5rem, 2.8vw, 2.15rem); }
body.yg h3 { font-size: clamp(1.1rem, 1.7vw, 1.3rem); }
body.yg p { margin: 0 0 1em; }
body.yg ul { margin: 0 0 1em; padding-left: 1.15em; }

body.yg .wrap { width: min(100% - var(--gutter) * 2, var(--wrap)); margin-inline: auto; }
body.yg .section { padding-block: var(--sec-y); }
body.yg .section--tint { background: var(--paper-2); }

body.yg .eyebrow {
  display: inline-block; font-size: .78rem; font-weight: 600; letter-spacing: .14em;
  text-transform: uppercase; color: var(--sand-600); margin-bottom: .7rem;
}
body.yg .eyebrow--light { color: var(--sand-500); }
body.yg .lead { font-size: clamp(1.02rem, 1.5vw, 1.16rem); max-width: 62ch; }
body.yg .muted { color: var(--ink-400); font-size: .9em; }

/* Κεντραρισμένος τίτλος ενότητας με λεπτές γραμμές — όπως στο reference */
body.yg .sec-title { text-align: center; margin-bottom: clamp(28px, 4vw, 48px); }
body.yg .sec-title h2 {
  display: inline-flex; align-items: center; gap: 1.1rem; margin-bottom: .35rem;
  font-weight: 500;
}
body.yg .sec-title h2::before, body.yg .sec-title h2::after {
  content: ""; width: clamp(24px, 5vw, 56px); height: 1px; background: var(--sand-500);
}
body.yg .sec-title p { color: var(--ink-400); margin: 0; }
body.yg .sec-head { max-width: 70ch; margin-bottom: clamp(28px, 4vw, 44px); }

/* ---------- κουμπιά ---------- */
body.yg .btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .5em;
  padding: .8em 1.45em; border-radius: 999px;
  font-family: var(--font); font-weight: 600; font-size: .96rem; line-height: 1.2;
  border: 1.5px solid transparent; cursor: pointer; text-decoration: none !important;
  transition: background .18s, color .18s, border-color .18s, transform .18s;
}
body.yg .btn:hover { transform: translateY(-1px); }
body.yg .btn svg { width: 17px; height: 17px; flex-shrink: 0; }
body.yg .btn--primary { background: var(--blue-700); color: #fff; }
body.yg .btn--primary:hover { background: var(--blue-900); }
body.yg .btn--ghost { border-color: rgba(255,255,255,.55); color: #fff; }
body.yg .btn--ghost:hover { background: rgba(255,255,255,.14); }
body.yg .btn--outline { border-color: var(--line); color: var(--blue-700); background: #fff; }
body.yg .btn--outline:hover { border-color: var(--blue-700); }
body.yg .btn--sand { background: var(--sand-500); color: var(--ink-900); }
body.yg .btn--sand:hover { background: var(--sand-600); color: #fff; }
body.yg .btn--sm { padding: .58em 1.1em; font-size: .87rem; }

/* ---------- topbar ---------- */
body.yg .topbar { background: var(--blue-900); color: #cfe0e8; font-size: .84rem; }
body.yg .topbar__in { display: flex; flex-wrap: wrap; gap: .4rem 1.6rem; align-items: center; justify-content: space-between; padding-block: .5rem; }
body.yg .topbar a { color: #fff; font-weight: 500; }
body.yg .topbar__set { display: flex; flex-wrap: wrap; gap: .3rem 1.4rem; }
@media (max-width: 640px) { body.yg .topbar__set:first-child { display: none; } }

/* ---------- header / μενού ---------- */
/* Το header «επιπλέει» πάνω από το πρώτο τμήμα κάθε σελίδας (hero ή banner — όλα σκούρα):
   διάφανο στην κορυφή, γεμάτο χρώμα μόλις αρχίσει το scroll (.is-solid από το app.js).
   height: 0 → δεν πιάνει χώρο στη ροή, άρα δεν μένει ποτέ λωρίδα πάνω από το hero·
   το ορατό μέρος είναι το .header__bar. Χωρίς JS μένει πάντα γεμάτο (διαβάζεται παντού).
   Χρώμα στο scroll: --header-solid. */
:root { --header-solid: var(--blue-900); }
body.yg .header { position: sticky; top: 0; z-index: 60; height: 0; }
body.yg .header__bar {
  /* ΟΧΙ backdrop-filter / transform / filter εδώ ή στο .header: δημιουργούν containing block
     για position:fixed και το mobile μενού (fixed, μέσα στο header) κλειδώνεται στο ύψος του header. */
  background: var(--header-solid); color: #fff;
  transition: background-color .3s ease, box-shadow .3s ease;
}
.js body.yg .header:not(.is-solid) .header__bar { background: transparent; }
body.yg .header.is-solid .header__bar { box-shadow: 0 8px 26px rgba(8, 28, 38, .26); }
body.yg .header__in { display: flex; align-items: center; gap: 1.5rem; justify-content: space-between; padding-block: .65rem; }
body.yg .brand { display: flex; align-items: center; gap: .7rem; text-decoration: none !important; }
body.yg .brand img { width: 50px; height: 50px; filter: brightness(0) invert(1); }   /* λευκό λογότυπο, όπως στο footer */
body.yg .brand__txt { display: flex; flex-direction: column; line-height: 1.12; }
body.yg .brand__name { font-weight: 700; color: #fff; font-size: 1.12rem; }
body.yg .brand__sub { font-size: .72rem; color: #cfe0e8; letter-spacing: .06em; }

body.yg .nav-shell { display: contents; }
body.yg .nav { display: flex; align-items: center; gap: 1.4rem; }
body.yg .nav__link {
  color: var(--ink-900); font-weight: 500; font-size: .97rem; text-decoration: none !important;
  padding-block: .4rem; border-bottom: 2px solid transparent;
}
body.yg .nav__link:hover, body.yg .nav__link.is-active { color: var(--blue-700); border-color: var(--sand-500); }

body.yg .nav__item { position: relative; display: flex; align-items: center; gap: .1rem; }
body.yg .nav__caret {
  display: grid; place-items: center; width: 26px; height: 26px; padding: 0;
  background: none; border: 0; border-radius: 6px; color: var(--ink-400); cursor: pointer;
}
body.yg .nav__caret svg { width: 15px; height: 15px; transition: transform .2s; }
body.yg .nav__caret:hover { background: var(--blue-050); color: var(--blue-700); }
body.yg .nav__sub {
  position: absolute; top: calc(100% + 10px); left: -14px; min-width: 270px;
  background: #fff; border: 1px solid var(--line); border-radius: var(--r-md);
  box-shadow: var(--shadow-md); padding: .45rem;
  display: grid; opacity: 0; visibility: hidden; transform: translateY(6px);
  transition: opacity .16s, transform .16s, visibility .16s;
}
body.yg .nav__sub::before { content: ""; position: absolute; left: 0; right: 0; top: -12px; height: 12px; }
body.yg .nav__sub a {
  padding: .55rem .8rem; border-radius: var(--r-sm); color: var(--ink-900);
  font-size: .94rem; text-decoration: none !important;
}
body.yg .nav__sub a:first-child { font-weight: 600; color: var(--blue-700); border-bottom: 1px solid var(--line); border-radius: var(--r-sm) var(--r-sm) 0 0; margin-bottom: .25rem; }
body.yg .nav__sub a:hover, body.yg .nav__sub a[aria-current="page"] { background: var(--blue-050); color: var(--blue-700); }

@media (min-width: 1001px) {
  body.yg .nav__item:hover .nav__sub, body.yg .nav__item:focus-within .nav__sub, body.yg .nav__item.is-open .nav__sub {
    opacity: 1; visibility: visible; transform: none;
  }
  body.yg .nav__item:hover .nav__caret svg, body.yg .nav__item.is-open .nav__caret svg { transform: rotate(180deg); }
  /* το μενού πάνω στο header: λευκά γράμματα (στο κινητό είναι λευκό πάνελ — μένουν σκούρα) */
  body.yg .nav__link, body.yg .nav__link:hover, body.yg .nav__link.is-active { color: #fff; }
  body.yg .nav__caret { color: #cfe0e8; }
  body.yg .nav__caret:hover { background: rgba(255, 255, 255, .16); color: #fff; }
  body.yg .nav__cta { background: var(--sand-500); color: var(--ink-900); }
  body.yg .nav__cta:hover { background: #fff; color: var(--blue-900); }
}

body.yg .burger { display: none; background: none; border: 0; padding: .5rem; cursor: pointer; }
body.yg .burger span { display: block; width: 24px; height: 2px; background: #fff; margin: 5px 0; transition: background-color .2s; }
body.yg .burger[aria-expanded="true"] span { background: var(--ink-900); }   /* ανοιχτό μενού: το κουμπί είναι πάνω στο λευκό πάνελ */

@media (max-width: 1000px) {
  /* Το shell καλύπτει ακριβώς το viewport και κόβει ό,τι βγαίνει έξω,
     ώστε το κλειστό πάνελ να μη δημιουργεί οριζόντιο scroll. */
  body.yg .nav-shell {
    display: block; position: fixed; inset: 0; z-index: 65; overflow: hidden;
    visibility: hidden; pointer-events: none; background: rgba(21,26,28,0);
    transition: background .28s, visibility .28s;
  }
  body.yg .nav-shell[data-open="true"] { visibility: visible; pointer-events: auto; background: rgba(21,26,28,.45); }
  body.yg .nav {
    position: absolute; top: 0; right: 0; bottom: 0; width: min(330px, 88vw);
    background: #fff; flex-direction: column; align-items: stretch; gap: 0;
    padding: 84px 22px 28px; overflow-y: auto;
    transform: translateX(100%); transition: transform .28s ease;
    box-shadow: -18px 0 40px rgba(13,59,79,.16);
  }
  body.yg .nav-shell[data-open="true"] .nav { transform: none; }
  body.yg .nav__link { padding: .75rem 0; border-bottom: 1px solid var(--line); font-size: 1.05rem; }
  body.yg .nav__link.is-active { border-bottom-color: var(--line); }
  /* Στο κινητό τα τμήματα φαίνονται πάντα, με εσοχή — χωρίς επιπλέον ταπ */
  body.yg .nav__item { display: block; }
  body.yg .nav__item > .nav__link { display: block; }
  body.yg .nav__caret { display: none; }
  body.yg .nav__sub {
    position: static; opacity: 1; visibility: visible; transform: none; min-width: 0;
    border: 0; box-shadow: none; padding: .2rem 0 .5rem .9rem; border-left: 2px solid var(--sand-500);
    margin: .3rem 0 .4rem;
  }
  body.yg .nav__sub::before { content: none; }
  body.yg .nav__sub a { padding: .4rem .6rem; font-size: .95rem; }
  body.yg .nav__sub a:first-child { display: none; }
  body.yg .nav__cta { margin-top: 1.2rem; }
  body.yg .burger { display: block; z-index: 70; }
}

/* ---------- HERO ΑΡΧΙΚΗΣ: τα κέντρα σε όλη την πρώτη οθόνη ----------
   Ύψος = viewport μείον topbar (το header είναι διάφανο ΠΑΝΩ στο hero).
   --topbar-h / --header-h / --callbar-h τα μετρά το app.js· οι τιμές εδώ είναι οι
   μετρημένες, ώστε να μην «πηδά» η σελίδα στο φόρτωμα.
   Στο κινητό αφαιρείται και η σταθερή μπάρα κλήσης. */
:root { --topbar-h: 38px; --header-h: 72px; --callbar-h: 0px; }
@media (max-width: 760px) { :root { --callbar-h: 52px; } }
body.yg .hx {
  position: relative; isolation: isolate; overflow: hidden;
  height: calc(100svh - var(--topbar-h)); min-height: 620px;
  display: flex; flex-direction: column;
  background: var(--blue-900); color: #fff;
}
@media (max-width: 760px) { body.yg .hx { height: calc(100svh - var(--topbar-h) - var(--callbar-h)); min-height: 510px; } }

body.yg .hx__slides { position: absolute; inset: 0; z-index: 0; }
body.yg .hx__slide { position: absolute; inset: 0; margin: 0; opacity: 0; transition: opacity 1.3s ease; }
body.yg .hx__slide.is-active { opacity: 1; z-index: 2; }
body.yg .hx__slide.is-prev { opacity: 1; z-index: 1; transition: none; }   /* μένει από κάτω: χωρίς «βύθισμα» στο crossfade */
body.yg .hx__slide img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.03); transition: transform 0s linear 1.4s; }
body.yg .hx__slide.is-active img { transform: scale(1.12); transition: transform 9s linear; }   /* αργό Ken Burns */

/* Διαφάνεια-βίντεο: η εικόνα της είναι το 1ο καρέ του βίντεο, γι' αυτό μένει ακίνητη
   (με Ken Burns θα «πηδούσε» τη στιγμή που ξεκινά το βίντεο). Το βίντεο εμφανίζεται
   μόλις αρχίσει να παίζει (.is-playing από το app.js). */
body.yg .hx__slide--video img, body.yg .hx__slide--video.is-active img { transform: none; transition: none; }
body.yg .hx__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .7s ease; }
body.yg .hx__slide.is-playing .hx__video { opacity: 1; }

body.yg .hx__shade {
  position: absolute; inset: 0; z-index: 3; pointer-events: none;
  background:
    /* σκίαση κάτω από το διάφανο header, για να διαβάζεται το μενού πάνω σε φωτεινά καρέ */
    linear-gradient(to bottom, rgba(8,28,38,.66) 0, rgba(8,28,38,.34) 84px, rgba(8,28,38,0) 190px),
    linear-gradient(96deg, rgba(13,59,79,.9) 0%, rgba(13,59,79,.62) 42%, rgba(13,59,79,.12) 100%),
    linear-gradient(to top, rgba(8,28,38,.78) 0%, rgba(8,28,38,0) 36%);
}
body.yg .hx__in { position: relative; z-index: 4; flex: 1; display: flex; align-items: center; padding-block: calc(var(--header-h) + clamp(16px, 3vh, 36px)) clamp(28px, 5vh, 56px); }
body.yg .hx__copy { max-width: 660px; }
body.yg .hx__eyebrow {
  display: inline-block; margin: 0 0 1.1rem; font-size: .8rem; font-weight: 600; letter-spacing: .16em;
  text-transform: uppercase; color: var(--sand-500);
}
/* Στη θέση του τίτλου, το λογότυπο του intro — διακριτικό, αριστερά (αίτημα πελάτη).
   Ίδια σύνθεση με το intro: σήμα + «Διαγνωστικά Κέντρα» με τη χρυσή γραμμή· ο υπότιτλος
   λευκός, γιατί το μπλε του intro δεν διαβάζεται πάνω στο βίντεο. */
body.yg .hx__brand { display: flex; width: fit-content; flex-direction: column; align-items: center; margin: 0 0 1.9rem; font-size: 1rem; line-height: 1; }   /* σε δική του γραμμή */
body.yg .hx__brand img { display: block; width: clamp(88px, 8.5vw, 124px); height: auto; }
body.yg .hx__brandsub {
  position: relative; margin-top: .75rem; padding: 0 0 .55rem .34em;   /* αριστερό padding: αντιστάθμιση του letter-spacing */
  font-size: clamp(10px, .95vw, 12px); font-weight: 600; letter-spacing: .34em; text-transform: uppercase; color: #fff;
}
body.yg .hx__brandsub::after { content: ""; position: absolute; left: 50%; bottom: 0; width: 2.4em; height: 2px; background: var(--sand-500); transform: translateX(-50%); }
body.yg .hero__cta { display: flex; flex-wrap: wrap; gap: .75rem; }

/* Είσοδος κειμένου — κρυφό αρχικό state ΜΟΝΟ όταν υπάρχει JS.
   Failsafe: αν το app.js δεν τρέξει, το animation 0s στα 4" το εμφανίζει. */
.js body.yg .hx:not(.is-in) .hx__fade { opacity: 0; transform: translateY(14px); animation: hxShow 0s 4s forwards; }
body.yg .hx.is-in .hx__fade { transition: opacity .9s ease var(--d, .3s), transform .9s cubic-bezier(.16,1,.3,1) var(--d, .3s); }
@keyframes hxShow { to { opacity: 1; transform: none; } }

/* Τα δύο κέντρα στη βάση του hero — σύνδεσμοι στις σελίδες τους (από 21/10 δεν αλλάζουν διαφάνεια) */
body.yg .hx__bar { position: relative; z-index: 4; display: flex; align-items: flex-end; gap: clamp(12px, 2vw, 28px); padding-bottom: clamp(18px, 3.2vh, 34px); }
body.yg .hx__tabs { flex: 1; display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: clamp(10px, 2vw, 26px); }
body.yg .hx__tab {
  display: block; text-align: left; color: #fff; text-decoration: none;
  padding: 0 0 .2rem; opacity: .88; transition: opacity .3s;
}
body.yg .hx__tab:hover, body.yg .hx__tab:focus-visible { opacity: 1; color: #fff; }
body.yg .hx__prog { display: block; position: relative; height: 2px; background: rgba(255,255,255,.28); overflow: hidden; margin-bottom: .75rem; }
body.yg .hx__prog::after { content: ""; position: absolute; inset: 0; background: var(--sand-500); transform: scaleX(0); transform-origin: left; transition: transform .45s cubic-bezier(.16,1,.3,1); }
body.yg .hx__tab:hover .hx__prog::after, body.yg .hx__tab:focus-visible .hx__prog::after { transform: scaleX(1); }
body.yg .hx__num { display: inline-block; font-size: .74rem; font-weight: 700; letter-spacing: .14em; color: var(--sand-500); margin-right: .45rem; }
body.yg .hx__name { font-weight: 600; font-size: .98rem; }
body.yg .hx__addr { display: block; font-size: .82rem; color: #c3d6de; margin-top: .15rem; line-height: 1.4; }

body.yg .hx__ctrl { display: flex; gap: .5rem; }
body.yg .hx__btn {
  display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%;
  border: 1px solid rgba(255,255,255,.42); background: rgba(8,28,38,.25); color: #fff;
  cursor: pointer; transition: background .2s, border-color .2s; text-decoration: none !important;
}
body.yg .hx__btn:hover { background: rgba(255,255,255,.16); border-color: #fff; }
body.yg .hx__btn svg { width: 18px; height: 18px; }
body.yg .hx__pause .i-play { display: none; }
body.yg .hx.is-paused .hx__pause .i-play { display: block; }
body.yg .hx.is-paused .hx__pause .i-pause { display: none; }
body.yg .hx__down svg { animation: hxNudge 2.2s ease-in-out infinite; }
@keyframes hxNudge { 0%, 100% { transform: translateY(-2px); } 50% { transform: translateY(3px); } }

@media (max-width: 760px) {
  body.yg .hx__addr { display: none; }
  body.yg .hx__name { font-size: .8rem; display: block; margin-top: .1rem; }
  body.yg .hx__num { font-size: .68rem; }
  body.yg .hx__bar { position: static; flex-direction: column; align-items: stretch; }
  /* στο κινητό: παύση πάνω δεξιά, μακριά από τα CTA· το βέλος κύλισης περιττεύει στην αφή */
  body.yg .hx__ctrl { position: absolute; right: var(--gutter); top: calc(var(--header-h) + 10px); z-index: 5; }
  /* η μπάρα μπαίνει μόνο με opacity: με transform θα γινόταν containing block και η παύση
     θα εμφανιζόταν πάνω στις καρτέλες μέχρι να τελειώσει η είσοδος */
  .js body.yg .hx:not(.is-in) .hx__bar { transform: none; }
  body.yg .hx__down { display: none; }
  body.yg .hero__cta .btn { flex: 1 1 auto; }
}
/* χαμηλές οθόνες κινητού: λιγότερο κείμενο ώστε να χωρά όλο το hero */
@media (max-width: 760px) and (max-height: 700px) {
  body.yg .hx__eyebrow { display: none; }
  body.yg .hx__brand { margin-bottom: 1.2rem; }
  body.yg .hx__brand img { width: 76px; }
  body.yg .hero__cta .btn { padding: .7em 1em; font-size: .9rem; }
}
@media (prefers-reduced-motion: reduce) {
  body.yg .hx__slide img, body.yg .hx__slide.is-active img { transform: none; transition: none; }
  body.yg .hx__prog::after { transition: none; }
  body.yg .hx__down svg { animation: none; }
}

/* ---------- INTRO · καρδιακός παλμός στο λογότυπο ----------
   Λευκή οθόνη → το λογότυπο εμφανίζεται → χτυπά σαν καρδιά → σβήνει.
   ΧΩΡΙΣ zoom προς την οθόνη: στον χτύπο μεγαλώνει το πολύ ×1,10 και επιστρέφει.
   Κάθε χτύπος = «λουπ» (×1,10) + «ντουπ» (×1,06) + παύση· 0,8" ≈ 75 παλμοί/λεπτό.
   Το σβήσιμο ξεκινά μόλις ολοκληρωθεί το «ντουπ» του τελευταίου χτύπου (56% του κύκλου).
   Ο χρονισμός ζει ΜΟΝΟ εδώ — το JS ακούει τα animation events. */
html.intro-pending::after { content: ""; position: fixed; inset: 0; z-index: 199; background: #fff; }
body.yg .splash {
  --in: .45s;      /* εμφάνιση του λογοτύπου */
  --beat: .8s;     /* διάρκεια ενός χτύπου */
  --beats: 3;      /* πόσοι χτύποι (2 ή 3) */
  --out: .6s;      /* σβήσιμο */
  position: fixed; inset: 0; z-index: 200; overflow: hidden; cursor: pointer;
  display: flex; align-items: center; justify-content: center; background: #fff;
}
body.yg .splash__mark { display: flex; flex-direction: column; align-items: center; opacity: 0; }
body.yg .splash__beat { display: block; will-change: transform; }   /* μόνο το λογότυπο πάλλεται, όχι ο υπότιτλος */
body.yg .splash__beat img { width: min(44vmin, 340px); height: auto; }
body.yg .splash__sub {
  position: relative; margin-top: 1.2rem; padding-bottom: .65rem;
  font-weight: 600; font-size: clamp(11px, 1.4vw, 15px); letter-spacing: .42em; text-transform: uppercase;
  color: var(--blue-700); padding-left: .42em;   /* αντιστάθμιση του letter-spacing στο κεντράρισμα */
}
body.yg .splash__sub::after { content: ""; position: absolute; left: 50%; bottom: 0; width: 2.4em; height: 2px; background: var(--sand-500); transform: translateX(-50%); }
body.yg .splash.play {
  animation: splashFadeOut var(--out) ease forwards;
  animation-delay: calc(var(--in) + var(--beat) * (var(--beats) - 1) + var(--beat) * .56);
}
body.yg .splash.play .splash__mark { animation: logoIn var(--in) cubic-bezier(.16,1,.3,1) forwards; }
body.yg .splash.play .splash__beat { animation: heartbeat var(--beat) ease-in-out var(--in) var(--beats); }
@keyframes logoIn { from { opacity: 0; transform: scale(.94); } to { opacity: 1; transform: none; } }
@keyframes heartbeat {
  0%   { transform: scale(1); }
  12%  { transform: scale(1.1); }    /* λουπ */
  24%  { transform: scale(1); }
  36%  { transform: scale(1.06); }   /* ντουπ */
  56%  { transform: scale(1); }
  100% { transform: scale(1); }      /* παύση ως τον επόμενο χτύπο */
}
@keyframes splashFadeOut { to { opacity: 0; visibility: hidden; } }
/* Μειωμένη κίνηση: χωρίς χτύπους — το λογότυπο φαίνεται και σβήνει */
@media (prefers-reduced-motion: reduce) {
  body.yg .splash.play { animation-delay: .7s; }
  body.yg .splash.play .splash__mark { animation: none; opacity: 1; transform: none; }
  body.yg .splash.play .splash__beat { animation: none; }
}
/* Προσπέραση (κλικ/πλήκτρο/scroll): γρήγορο σβήσιμο. Άλλο όνομα keyframes, ώστε το
   animation να ξεκινά από την αρχή — με το ίδιο όνομα ο browser απλώς θα άλλαζε τον
   χρονισμό του ήδη τρέχοντος και θα «πηδούσε» στο τέλος. */
body.yg .splash.play.skip { animation: splashSkip .3s ease forwards; }
@keyframes splashSkip { to { opacity: 0; visibility: hidden; } }

/* ---------- hero εσωτερικών σελίδων ---------- */
body.yg .phero { position: relative; background: var(--blue-900); color: #fff; overflow: hidden; }
body.yg .phero__media { position: absolute; inset: 0; }
body.yg .phero__media img { width: 100%; height: 100%; object-fit: cover; opacity: .34; }
body.yg .phero::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(100deg, rgba(13,59,79,.94) 0%, rgba(13,59,79,.8) 52%, rgba(13,59,79,.45) 100%);
}
body.yg .phero:not(:has(.phero__media)) {
  background:
    radial-gradient(70% 130% at 82% 0%, rgba(93,162,191,.32) 0%, rgba(93,162,191,0) 62%),
    radial-gradient(52% 120% at 8% 100%, rgba(187,174,142,.18) 0%, rgba(187,174,142,0) 60%),
    var(--blue-900);
}
body.yg .phero:not(:has(.phero__media))::after { content: none; }
body.yg .phero__in { position: relative; z-index: 2; padding-block: calc(var(--header-h) + clamp(30px, 4.5vw, 60px)) clamp(36px, 5.5vw, 72px); }   /* πάνω: χώρος για το διάφανο header */
body.yg .phero h1 { color: #fff; max-width: 24ch; font-size: clamp(1.7rem, 3.6vw, 2.7rem); }
body.yg .phero__lead { color: #d7e6ed; max-width: 60ch; margin: 0; }

body.yg .crumbs { display: flex; flex-wrap: wrap; gap: .45rem; align-items: center; font-size: .85rem; color: #a9c5d2; margin-bottom: 1rem; }
body.yg .crumbs a { color: #d7e6ed; }
body.yg .crumbs span[aria-hidden] { opacity: .55; }

/* ---------- γραμμές επικοινωνίας / ωράριο ---------- */
body.yg .rows { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; gap: .6rem; font-size: .95rem; }
body.yg .rows li { display: flex; gap: .65rem; align-items: flex-start; }
body.yg .rows svg { width: 17px; height: 17px; color: var(--blue-500); flex-shrink: 0; margin-top: .25em; }
body.yg .rows b { color: var(--ink-900); }
body.yg .rows-extra { font-size: .9rem; margin: -.3rem 0 1rem 1.7rem; }
body.yg .hours { background: var(--blue-050); border-radius: var(--r-sm); padding: .75rem .9rem; font-size: .9rem; margin: 0 0 1.2rem; }
body.yg .hours dt { font-weight: 600; color: var(--ink-900); font-size: .76rem; letter-spacing: .08em; text-transform: uppercase; margin-bottom: .3rem; }
body.yg .hours dd { margin: 0 0 .15rem; display: flex; justify-content: space-between; gap: 1rem; }
body.yg .hours dd span:last-child { color: var(--ink-900); font-weight: 600; white-space: nowrap; }

/* ---------- ΑΡΧΙΚΗ: τα δύο κέντρα ---------- */
body.yg .hcs { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
@media (max-width: 900px) { body.yg .hcs { grid-template-columns: 1fr; max-width: 600px; margin-inline: auto; } }
body.yg .hc {
  background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg);
  overflow: hidden; display: flex; flex-direction: column; box-shadow: var(--shadow-sm);
}
body.yg .hc__img { display: block; aspect-ratio: 16 / 9; overflow: hidden; }
body.yg .hc__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
body.yg .hc__img:hover img { transform: scale(1.03); }
body.yg .hc__body { padding: 1.5rem 1.5rem 1.6rem; display: flex; flex-direction: column; flex: 1; }
body.yg .hc__name { font-size: 1.3rem; margin-bottom: 1rem; }
body.yg .hc__name a { color: var(--ink-900); }
body.yg .hc__h { font-size: .76rem; letter-spacing: .1em; text-transform: uppercase; color: var(--sand-600); margin: .2rem 0 .5rem; }
body.yg .hc__depts { list-style: none; padding: 0; margin: 0 0 1.3rem; border-top: 1px solid var(--line); }
body.yg .hc__depts li { border-bottom: 1px solid var(--line); }
body.yg .hc__depts a {
  display: flex; flex-direction: column; gap: .1rem; padding: .7rem 1.8rem .7rem 0;
  position: relative; text-decoration: none !important; color: var(--ink-900);
}
body.yg .hc__depts a::after {
  content: "›"; position: absolute; right: .4rem; top: 50%; transform: translateY(-50%);
  color: var(--blue-500); font-size: 1.4rem; transition: transform .18s;
}
body.yg .hc__depts a:hover b { color: var(--blue-700); }
body.yg .hc__depts a:hover::after { transform: translate(3px, -50%); }
body.yg .hc__depts b { font-weight: 600; }
body.yg .hc__sub { font-size: .84rem; color: var(--ink-400); line-height: 1.45; }
body.yg .hc__foot { margin-top: auto; display: flex; flex-wrap: wrap; gap: .5rem; }

/* ---------- ΣΕΛΙΔΑ ΚΕΝΤΡΟΥ ---------- */
body.yg .about { display: grid; grid-template-columns: 1.3fr 1fr; gap: clamp(28px, 5vw, 60px); align-items: start; }
@media (max-width: 900px) { body.yg .about { grid-template-columns: 1fr; } }
body.yg .about__text h2 { margin-bottom: .8rem; }
body.yg .about__card {
  background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg);
  padding: 1.5rem 1.5rem 1.6rem; box-shadow: var(--shadow-sm);
}
body.yg .about__card h3 { font-size: 1.05rem; margin-bottom: 1rem; }
body.yg .about__btns { display: flex; flex-wrap: wrap; gap: .5rem; }
body.yg .chips-static { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.3rem; }
body.yg .chips-static span {
  font-size: .85rem; font-weight: 500; padding: .38em .9em; border-radius: 999px;
  background: var(--sand-100); color: var(--ink-900); border: 1px solid #e6dfcd;
}

body.yg .dcards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
body.yg .dcards--1 { grid-template-columns: minmax(0, 560px); justify-content: center; }
@media (max-width: 900px) { body.yg .dcards { grid-template-columns: 1fr; max-width: 560px; margin-inline: auto; } }
body.yg .dcard {
  background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg);
  padding: 1.6rem 1.5rem 1.5rem; display: flex; flex-direction: column; text-align: center;
  transition: border-color .18s, box-shadow .18s;
}
body.yg .dcard:hover { border-color: var(--blue-500); box-shadow: var(--shadow-md); }
body.yg .dcard__img { display: grid; place-items: center; height: 110px; margin-bottom: 1rem; }
body.yg .dcard__img img { max-height: 110px; width: auto; object-fit: contain; }
body.yg .dcard h3 { font-size: 1.18rem; }
body.yg .dcard h3 a { color: var(--ink-900); }
body.yg .dcard p { font-size: .94rem; }
body.yg .dcard__list {
  list-style: none; padding: 0; margin: 0 0 1.2rem; text-align: left;
  display: grid; grid-template-columns: 1fr 1fr; gap: .1rem 1rem; font-size: .9rem;
}
body.yg .dcard__list a { display: block; padding: .3rem 0; border-bottom: 1px dashed var(--line); }
body.yg .dcard__go {
  margin-top: auto; align-self: center; font-weight: 600; font-size: .82rem; letter-spacing: .12em;
  text-transform: uppercase; border-bottom: 1.5px solid var(--sand-500); padding-bottom: .15rem;
  text-decoration: none !important;
}
body.yg .dcard--text { text-align: left; }
body.yg .dcard--text .btn { align-self: flex-start; margin-top: auto; }

body.yg .mapband { line-height: 0; border-top: 1px solid var(--line); }
body.yg .mapband iframe { width: 100%; height: 360px; border: 0; }

/* ---------- ΜΗΧΑΝΗΜΑ / ΣΥΣΤΗΜΑ (split block, όπως το reference) ---------- */
body.yg .mach { padding-block: clamp(44px, 6vw, 76px); border-bottom: 1px solid var(--line); scroll-margin-top: 80px; }
body.yg .mach:nth-of-type(even) { background: var(--paper-2); }
body.yg .mach__in { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(28px, 5vw, 64px); align-items: start; }
body.yg .mach--rev .mach__in { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
body.yg .mach--rev .mach__media { order: 2; }
body.yg .mach__media {
  background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg);
  display: grid; place-items: center; padding: clamp(18px, 3vw, 36px); position: sticky; top: 100px;
}
body.yg .mach__media img { max-height: 360px; width: auto; object-fit: contain; }
body.yg .mach--wide .mach__in, body.yg .mach--wide.mach--rev .mach__in { grid-template-columns: 1fr; }
body.yg .mach--wide .mach__media { order: 0; position: static; padding: 0; border: 0; background: none; }
body.yg .mach--wide .mach__media img { max-height: none; width: 100%; max-width: 980px; }
body.yg .mach--noimg .mach__in { grid-template-columns: minmax(0, 900px); }
@media (max-width: 900px) {
  body.yg .mach__in, body.yg .mach--rev .mach__in { grid-template-columns: 1fr; }
  body.yg .mach--rev .mach__media { order: 0; }
  body.yg .mach__media { position: static; }
  body.yg .mach__media img { max-height: 240px; }
}
body.yg .mach__body h2 { margin-bottom: .2rem; }
body.yg .mach__model {
  display: inline-block; font-weight: 600; color: var(--blue-700); font-size: 1rem;
  background: var(--blue-050); border: 1px solid var(--blue-100); border-radius: 6px;
  padding: .2em .7em; margin-bottom: 1.1rem;
}
body.yg .mach__note { font-size: .92rem; color: var(--ink-400); margin-top: -.5rem; }
body.yg .mach__links { display: flex; flex-wrap: wrap; gap: .6rem 1.2rem; align-items: center; margin-top: 1.4rem; }
body.yg .mach__extra { font-weight: 600; font-size: .92rem; }

body.yg .xgroup { margin-top: 1.3rem; }
body.yg .xgroup h3 { font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; color: var(--sand-600); margin-bottom: .55rem; }
body.yg .xgroup p { font-size: .95rem; }
body.yg .xlist { list-style: none; padding: 0; margin: 0; display: grid; gap: .1rem; }
body.yg .xlist--2 { grid-template-columns: 1fr 1fr; column-gap: 1.6rem; }
@media (max-width: 620px) { body.yg .xlist--2 { grid-template-columns: 1fr; } }
body.yg .xlist li {
  position: relative; padding: .38rem 0 .38rem 1.2rem; border-bottom: 1px solid var(--line);
  font-size: .94rem; color: var(--ink-900); line-height: 1.45;
}
body.yg .xlist li::before {
  content: ""; position: absolute; left: 0; top: .9em; width: 6px; height: 6px;
  border-radius: 50%; background: var(--sand-500);
}
body.yg .cols2, body.yg .cols3 { display: grid; gap: 0 clamp(20px, 3vw, 40px); }
body.yg .cols2 { grid-template-columns: 1fr 1fr; }
body.yg .cols3 { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 860px) { body.yg .cols2, body.yg .cols3 { grid-template-columns: 1fr; } }

/* ---------- μικροβιολογικό ---------- */
body.yg .labgrid { display: grid; grid-template-columns: 2fr 1fr; gap: 20px; }
@media (max-width: 860px) { body.yg .labgrid { grid-template-columns: 1fr; } }
body.yg .labcol { background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); padding: 1.5rem 1.5rem 1.3rem; }
body.yg .labcol h3 { font-size: 1.05rem; margin-bottom: .8rem; }

body.yg .gallery { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
@media (max-width: 860px) { body.yg .gallery { grid-template-columns: repeat(2, 1fr); } }
body.yg .gallery img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: var(--r-md); }

body.yg .siblings { padding-block: clamp(30px, 4vw, 44px); }
body.yg .siblings__in { display: flex; flex-wrap: wrap; gap: 1rem 1.6rem; align-items: center; justify-content: center; text-align: center; }
body.yg .siblings h2 { font-size: 1.05rem; font-weight: 500; color: var(--ink-400); margin: 0; }
body.yg .siblings__btns { display: flex; flex-wrap: wrap; gap: .5rem; justify-content: center; }

/* ---------- ταμεία ---------- */
body.yg .ins {
  background: linear-gradient(120deg, var(--blue-900) 0%, var(--blue-700) 100%);
  color: #d7e6ed; border-radius: var(--r-lg); padding: clamp(26px, 4vw, 46px);
  display: grid; grid-template-columns: 1.2fr 1fr; gap: clamp(22px, 4vw, 46px); align-items: center;
}
@media (max-width: 880px) { body.yg .ins { grid-template-columns: 1fr; } }
body.yg .ins h2 { color: #fff; }
body.yg .ins__funds { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: 1rem; }
body.yg .ins__funds span { font-size: .82rem; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.2); padding: .3em .8em; border-radius: 999px; color: #fff; }
body.yg .ins__card { background: #fff; border-radius: var(--r-md); padding: 1.5rem 1.4rem; color: var(--ink-600); }
body.yg .ins__card h3 { font-size: 1.15rem; }
body.yg .ins__badge { display: inline-block; background: var(--sand-500); color: var(--ink-900); font-weight: 700; font-size: .76rem; letter-spacing: .08em; text-transform: uppercase; padding: .3em .8em; border-radius: 4px; margin-bottom: .8rem; }

body.yg .fundgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
@media (max-width: 860px) { body.yg .fundgrid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { body.yg .fundgrid { grid-template-columns: 1fr; } }
body.yg .fund { background: #fff; border: 1px solid var(--line); border-left: 4px solid var(--sand-500); border-radius: var(--r-md); padding: 1.2rem 1.3rem; display: flex; flex-direction: column; gap: .15rem; }
body.yg .fund b { color: var(--ink-900); font-size: 1.04rem; }
body.yg .fund span { font-size: .87rem; color: var(--ink-400); }
body.yg .note { display: flex; gap: .9rem; align-items: flex-start; background: var(--sand-100); border: 1px solid #e6dfcd; border-radius: var(--r-md); padding: 1.1rem 1.3rem; margin-top: 2rem; }
body.yg .note svg { width: 22px; height: 22px; color: var(--sand-600); flex-shrink: 0; margin-top: .1em; }
body.yg .note p { margin: 0; font-size: .93rem; }

/* ---------- ασθενοφόρο ---------- */
body.yg .amb { background: var(--slate); color: #c9d2d5; border-radius: var(--r-lg); overflow: hidden; display: grid; grid-template-columns: 1.1fr 1fr; }
@media (max-width: 880px) { body.yg .amb { grid-template-columns: 1fr; } }
body.yg .amb__body { padding: clamp(26px, 4vw, 50px); }
body.yg .amb h2 { color: #fff; }
body.yg .amb__media img { width: 100%; height: 100%; object-fit: cover; min-height: 260px; }
body.yg .amb__24 { display: inline-flex; background: var(--red-600); color: #fff; font-weight: 700; font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; padding: .35em .9em; border-radius: 4px; margin-bottom: 1rem; }
body.yg .amb ul { list-style: none; padding: 0; display: grid; gap: .5rem; margin: 0 0 1.1rem; }
body.yg .amb li { display: flex; gap: .6rem; align-items: flex-start; font-size: .95rem; }
body.yg .amb li svg { width: 17px; height: 17px; color: var(--sand-500); flex-shrink: 0; margin-top: .25em; }
body.yg .amb__small { font-size: .88rem; color: #9fabaf; margin-bottom: 1.4rem; }

body.yg .ambstrip { background: var(--slate); color: #c9d2d5; padding-block: 1.1rem; }
body.yg .ambstrip__in { display: flex; flex-wrap: wrap; gap: .8rem 1.4rem; align-items: center; }
body.yg .ambstrip .amb__24 { margin: 0; }
body.yg .ambstrip p { margin: 0; flex: 1 1 280px; }
body.yg .ambstrip b { color: #fff; }
body.yg .ambstrip__more { color: #d7e6ed; font-size: .9rem; }

/* Αρχική: νέος μαγνητικός · αξονική στεφανιογραφία — στο ύφος του ασθενοφόρου (αίτημα πελάτη 21/10).
   Δύο ισοϋψείς στήλες· τα κουμπιά κάθονται στη βάση κάθε στήλης. */
body.yg .section--joined { padding-top: 0; }               /* συνέχεια της προηγούμενης ενότητας, χωρίς διπλό κενό */
body.yg .duo { background: var(--slate); color: #c9d2d5; border-radius: var(--r-lg); overflow: hidden; display: grid; grid-template-columns: 1fr 1fr; }
body.yg .duo__item { display: flex; flex-direction: column; min-width: 0; scroll-margin-top: 90px; }
body.yg .duo__item + .duo__item { border-left: 1px solid rgba(255,255,255,.1); }
body.yg .duo__media { aspect-ratio: 16 / 9; overflow: hidden; }
body.yg .duo__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
body.yg .duo__body { flex: 1; display: flex; flex-direction: column; padding: clamp(24px, 3.4vw, 42px); }
body.yg .duo h2 { color: #fff; font-size: clamp(1.3rem, 2.1vw, 1.65rem); }
body.yg .duo__tag { align-self: flex-start; display: inline-flex; background: var(--sand-500); color: var(--ink-900); font-weight: 700; font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; padding: .35em .9em; border-radius: 4px; margin-bottom: 1rem; }
body.yg .duo ul { list-style: none; padding: 0; display: grid; gap: .5rem; margin: 0 0 1.1rem; }
body.yg .duo li { display: flex; gap: .6rem; align-items: flex-start; font-size: .95rem; }
body.yg .duo li svg { width: 17px; height: 17px; color: var(--sand-500); flex-shrink: 0; margin-top: .25em; }
body.yg .duo__small { font-size: .88rem; color: #9fabaf; margin-bottom: 1.4rem; }
body.yg .duo__btns { margin-top: auto; display: flex; flex-wrap: wrap; gap: .6rem; }
@media (max-width: 880px) {
  body.yg .duo { grid-template-columns: 1fr; }
  body.yg .duo__item + .duo__item { border-left: 0; border-top: 1px solid rgba(255,255,255,.1); }
}

/* Μικροβιολογικό → «Αναλύσεις»: διακριτικό μοτίβο με εργαστηριακά σκεύη (αίτημα πελάτη 21/10).
   SVG μέσα στο CSS: κανένα επιπλέον αίτημα, περνά αυτούσιο και στο WordPress.
   Πηγή του σχεδίου (ευανάγνωστη): design/_src/lab-pattern.svg */
body.yg .section--tint.section--lab {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260' viewBox='0 0 260 260'%3E %3Cg fill='none' stroke='%23155d7b' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' opacity='.14'%3E %3Cg transform='rotate(-20 48 54)'%3E%3Crect x='40' y='22' width='16' height='7' rx='2'/%3E%3Cpath d='M42 29v44a6 6 0 0 0 12 0V29M42 56h12'/%3E%3C/g%3E %3Cpath d='M183 24h16M187 24v19l-14 25a4 4 0 0 0 3.5 6h29a4 4 0 0 0 3.5-6l-14-25V24M178 60h26'/%3E %3Ccircle cx='128' cy='110' r='4'/%3E%3Ccircle cx='141' cy='99' r='2.5'/%3E%3Ccircle cx='118' cy='95' r='3'/%3E %3Cg transform='rotate(15 236 108)'%3E%3Crect x='229' y='90' width='14' height='6' rx='1.5'/%3E%3Crect x='230' y='96' width='12' height='26' rx='3'/%3E%3Cpath d='M230 110h12'/%3E%3C/g%3E %3Cpath d='M20 124v12M14 130h12'/%3E %3Crect x='62' y='150' width='22' height='9' rx='2'/%3E%3Cpath d='M65 159v5M81 159v5'/%3E%3Crect x='56' y='164' width='34' height='48' rx='7'/%3E%3Crect x='62' y='178' width='22' height='18' rx='2'/%3E%3Cpath d='M73 182v10M68 187h10'/%3E %3Cg transform='rotate(25 192 175)'%3E%3Cpath d='M186 140a6 6 0 0 1 12 0v12h-12zM188 152h8v30l-4 9-4-9z'/%3E%3C/g%3E %3Cpath d='M184 197c-3 3.5-4 6.5 0 8.5c4-2 3-5 0-8.5z'/%3E %3Ccircle cx='130' cy='222' r='17'/%3E%3Ccircle cx='130' cy='222' r='13'/%3E %3C/g%3E %3Cg fill='%23155d7b' opacity='.14'%3E%3Ccircle cx='125' cy='218' r='1.5'/%3E%3Ccircle cx='134' cy='225' r='1.5'/%3E%3Ccircle cx='128' cy='229' r='1.2'/%3E%3Ccircle cx='136' cy='216' r='1.2'/%3E%3C/g%3E %3C/svg%3E");
  background-size: 260px 260px;
}

/* ---------- αξιολογήσεις ---------- */
body.yg .reviews { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
@media (max-width: 900px) { body.yg .reviews { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { body.yg .reviews { grid-template-columns: 1fr; } }
body.yg .review { margin: 0; background: #fff; border: 1px solid var(--line); border-radius: var(--r-md); padding: 1.3rem 1.3rem 1.2rem; display: flex; flex-direction: column; }
body.yg .review__stars { color: var(--sand-500); letter-spacing: .12em; margin-bottom: .45rem; }
body.yg .review p { color: var(--ink-900); font-size: .98rem; margin-bottom: .8rem; }
body.yg .review cite { margin-top: auto; font-style: normal; font-size: .86rem; color: var(--ink-400); font-weight: 500; }

/* ---------- άρθρα ---------- */
body.yg .posts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
@media (max-width: 900px) { body.yg .posts { grid-template-columns: 1fr; max-width: 560px; margin-inline: auto; } }
body.yg .post { border: 1px solid var(--line); border-radius: var(--r-md); overflow: hidden; background: #fff; display: flex; flex-direction: column; }
body.yg .post > a img { aspect-ratio: 16/9; object-fit: cover; width: 100%; }
body.yg .post__body { padding: 1.2rem 1.2rem 1.35rem; display: flex; flex-direction: column; flex: 1; }
body.yg .post__date { font-size: .78rem; color: var(--ink-400); letter-spacing: .04em; margin-bottom: .4rem; }
body.yg .post__h { font-size: 1.04rem; line-height: 1.35; margin-bottom: .55rem; }
body.yg .post__h a { color: var(--ink-900); }
body.yg .post__x { font-size: .92rem; }
body.yg .post .more { margin-top: auto; font-weight: 600; font-size: .9rem; }

body.yg .article { max-width: 820px; }
body.yg .article__cover { margin: 0 0 2rem; }
body.yg .article__cover img { width: 100%; border-radius: var(--r-md); }
body.yg .article__back { margin-top: 2.4rem; font-weight: 600; }
body.yg .prose { font-size: 1.02rem; }
body.yg .prose h2, body.yg .prose h3, body.yg .prose h4 { margin-top: 1.8rem; }
body.yg .prose h2 { font-size: 1.4rem; }
body.yg .prose h3 { font-size: 1.2rem; }
body.yg .prose ul, body.yg .prose ol { padding-left: 1.3em; }
body.yg .prose li { margin-bottom: .35rem; }
body.yg .prose figure { margin: 1.6rem 0; }
body.yg .prose figure img { border-radius: var(--r-md); }
body.yg .prose > h2:first-child { margin-top: 0; }

/* ---------- επικοινωνία ---------- */
body.yg .loc {
  display: grid; grid-template-columns: 1fr 1.05fr; gap: clamp(24px, 4vw, 52px);
  align-items: center; padding-block: clamp(26px, 4vw, 46px); border-bottom: 1px solid var(--line);
  scroll-margin-top: 90px;
}
body.yg .loc:first-child { padding-top: 0; }
body.yg .loc:last-child { border-bottom: 0; padding-bottom: 0; }
@media (max-width: 900px) { body.yg .loc { grid-template-columns: 1fr; } }
body.yg .loc--rev .loc__info { order: 2; }
@media (max-width: 900px) { body.yg .loc--rev .loc__info { order: 0; } }
body.yg .loc h2 { font-size: clamp(1.35rem, 2.3vw, 1.75rem); }
body.yg .loc__map { border-radius: var(--r-md); overflow: hidden; border: 1px solid var(--line); line-height: 0; }
body.yg .loc__map iframe { width: 100%; height: 320px; border: 0; }

body.yg .formwrap { max-width: 760px; background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); padding: clamp(22px, 3.5vw, 40px); box-shadow: var(--shadow-sm); }
body.yg .field { margin-bottom: 1rem; }
body.yg .field label { display: block; font-size: .87rem; font-weight: 600; color: var(--ink-900); margin-bottom: .35rem; }
body.yg .field input, body.yg .field select, body.yg .field textarea {
  width: 100%; font-family: var(--font); font-size: 1rem; color: var(--ink-900);
  padding: .75rem .9rem; border: 1.5px solid var(--line); border-radius: var(--r-sm); background: #fff;
}
body.yg .field input:focus, body.yg .field select:focus, body.yg .field textarea:focus { outline: none; border-color: var(--blue-500); box-shadow: 0 0 0 4px rgba(93,162,191,.14); }
body.yg .field textarea { min-height: 120px; resize: vertical; }
body.yg .field2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
@media (max-width: 620px) { body.yg .field2 { grid-template-columns: 1fr; } }
body.yg .field--check { display: flex; gap: .7rem; align-items: flex-start; margin-block: 1.2rem; }
body.yg .field--check input { width: auto; margin-top: .3em; flex-shrink: 0; }
body.yg .field--check label { font-weight: 400; font-size: .9rem; color: var(--ink-600); }
body.yg .form__note { font-size: .84rem; color: var(--ink-400); margin-top: .9rem; }

/* ---------- CTA band ---------- */
body.yg .ctaband { background: var(--blue-900); color: #d7e6ed; padding-block: clamp(36px, 5vw, 60px); }
body.yg .ctaband__in { display: flex; flex-wrap: wrap; gap: 1.4rem 2.4rem; align-items: center; justify-content: space-between; }
body.yg .ctaband h2 { color: #fff; margin-bottom: .3rem; font-size: clamp(1.35rem, 2.3vw, 1.8rem); }
body.yg .ctaband p { margin: 0; }
body.yg .ctaband__btns { display: flex; flex-wrap: wrap; gap: .6rem; }

/* ---------- footer ---------- */
body.yg .footer { background: var(--ink-900); color: #9aa5a9; padding-block: clamp(44px, 6vw, 68px) 26px; font-size: .92rem; }
body.yg .footer a { color: #d3dadd; }
body.yg .footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr .9fr; gap: clamp(22px, 3vw, 44px); }
@media (max-width: 900px) { body.yg .footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { body.yg .footer__grid { grid-template-columns: 1fr; } }
body.yg .footer h4 { color: #fff; font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; margin-bottom: .9rem; }
body.yg .footer h4 a { color: #fff; }
body.yg .footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .45rem; }
body.yg .footer__brand { display: flex; align-items: center; gap: .7rem; margin-bottom: 1rem; }
body.yg .footer__brand img { width: 44px; height: 44px; filter: brightness(0) invert(1); }
body.yg .footer__bottom { margin-top: clamp(30px, 4vw, 48px); padding-top: 20px; border-top: 1px solid rgba(255,255,255,.12); display: flex; flex-wrap: wrap; gap: .8rem 1.5rem; justify-content: space-between; font-size: .85rem; }

/* ---------- σταθερή μπάρα κλήσης (κινητό) ---------- */
body.yg .callbar {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 55; display: none; gap: 8px;
  background: #fff; border-top: 1px solid var(--line); box-shadow: 0 -6px 22px rgba(13,59,79,.12);
  padding: 8px 12px calc(8px + env(safe-area-inset-bottom));
}
body.yg .callbar a { flex: 1; }
@media (max-width: 760px) { body.yg .callbar { display: flex; } body.yg { padding-bottom: 72px; } }

/* ---------- προσβασιμότητα ---------- */
body.yg .skip { position: absolute; left: -9999px; top: 0; z-index: 200; background: var(--blue-700); color: #fff; padding: .75rem 1.2rem; }
body.yg .skip:focus { left: 0; }
body.yg :focus-visible { outline: 3px solid var(--blue-500); outline-offset: 2px; border-radius: 3px; }

body.yg .rv { opacity: 0; transform: translateY(16px); transition: opacity .55s ease, transform .55s ease; }
body.yg .rv.in { opacity: 1; transform: none; }
body.yg .hcs .hc.rv:nth-child(2) { transition-delay: .14s; }   /* τα δύο κέντρα μπαίνουν με μικρή διαδοχή */
@media (prefers-reduced-motion: reduce) { body.yg .rv { opacity: 1; transform: none; } }

/* ---------- ΠΡΑΓΜΑΤΙΚΕΣ ΦΩΤΟΓΡΑΦΙΕΣ (λήψη 3/10/2026, κέντρο Ιωαννίνων) ----------
   Τα γραφικά των μηχανημάτων (PNG) μένουν «contain» σε λευκό πλαίσιο·
   οι φωτογραφίες γεμίζουν το πλαίσιο και παίρνουν τη μισή στήλη. */
body.yg .mach__media.mach__media--photo { padding: 0; border: 0; overflow: hidden; background: var(--blue-050); }
body.yg .mach__media.mach__media--photo img { display: block; width: 100%; height: auto; max-height: none; }
body.yg .mach:has(.mach__media--photo) .mach__in { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
@media (max-width: 900px) { body.yg .mach:has(.mach__media--photo) .mach__in { grid-template-columns: 1fr; } }

body.yg .dcard--photo { padding-top: 0; overflow: hidden; }
body.yg .dcard--photo .dcard__img { display: block; height: auto; aspect-ratio: 16 / 10; margin: 0 -1.5rem 1.2rem; overflow: hidden; }
body.yg .dcard--photo .dcard__img img { display: block; width: 100%; height: 100%; max-height: none; object-fit: cover; transition: transform .5s; }
body.yg .dcard--photo:hover .dcard__img img { transform: scale(1.03); }

body.yg .gallery--wide { grid-template-columns: repeat(3, 1fr); gap: 14px; }
body.yg .gallery--wide img { aspect-ratio: 3 / 2; height: auto; }
@media (max-width: 860px) { body.yg .gallery--wide { grid-template-columns: repeat(2, 1fr); } }

/* ασθενοφόρο: κύρια φωτογραφία + ένθετο με το εσωτερικό */
body.yg .amb__media { position: relative; }
body.yg .amb__media img { display: block; }
body.yg .amb__media .amb__inset {
  position: absolute; right: 16px; bottom: 16px; width: 38%; max-width: 250px;
  height: auto; min-height: 0; aspect-ratio: 3 / 2; object-fit: cover;
  border-radius: var(--r-md); border: 3px solid #fff; box-shadow: var(--shadow-md);
}
/* στο κινητό μικρότερο, για να μην κρύβει το μισό όχημα */
@media (max-width: 880px) { body.yg .amb__media .amb__inset { width: 31%; right: 12px; bottom: 12px; border-width: 2px; } }
