/* Rigopoulos Core: στυλ που συνοδεύουν λειτουργίες του plugin. */
/* TikTok: τα πιο πρόσφατα βίντεο του προφίλ (επίσημο embed). */
.rc-tiktok-feed { display: flex; justify-content: center; }
.rc-tiktok-feed .tiktok-embed { margin: 0; width: 100%; max-width: 780px; min-width: 288px; min-height: 480px; border-radius: 24px; overflow: hidden; background: var(--rc-white); color: var(--rc-slate); border: 0; padding: 0; }
.rc-tiktok-feed .tiktok-embed > section { display: flex; align-items: center; justify-content: center; min-height: 480px; padding: 1.5rem; text-align: center; font-size: .9375rem; }
.rc-tiktok-feed .tiktok-embed > section a { font-weight: 700; color: var(--rc-blue); }
.rc-tiktok-feed iframe { display: block; width: 100%; border: 0; }

/* Ορατή εστίαση πληκτρολογίου όταν μπαίνει σε χάρτη ή στο TikTok (η εστίαση περνά μέσα στο iframe). */
.rc-map:focus-within iframe,
.rc-tiktok-feed:focus-within iframe,
.rc-map.has-focus iframe,
.rc-tiktok-feed.has-focus iframe { outline: 3px solid #4FA3E0; outline-offset: -3px; }

/* Σήμα πιστοποίησης («Επιλεγμένη εικόνα») σε κάρτα εμπειρίας και στους τίτλους σπουδών. */
.rc-bento__seal { position: absolute; right: 2rem; bottom: 2rem; width: 140px; height: auto; filter: drop-shadow(0 6px 18px rgba(4, 20, 45, .28)); }
.rc-bento__item:has(.rc-bento__seal) .rc-bento__body { padding-right: 160px; }
.rc-timeline__seal { order: 9; width: 76px; height: auto; margin-top: .4rem; }
@media (max-width: 560px) {
	.rc-bento__seal { top: 1.5rem; right: 1.5rem; bottom: auto; width: 92px; }
	.rc-bento__item:has(.rc-bento__seal) .rc-bento__body { padding-right: 0; }
	.rc-bento__item:has(.rc-bento__seal) > .rc-pill { margin-right: 100px; align-self: flex-start; }
	.rc-bento__item:has(.rc-bento__seal) { min-height: 300px; }
}

/* Σήμα SCOPE πάνω στη φωτογραφία: το λογότυπο στη μέση, τα γράμματα γυρίζουν γύρω του. */
.rc-hero__media .rc-scope-badge__ring text { font: 700 9.5px var(--rc-sans); letter-spacing: 0; }
.rc-hero__media .rc-scope-badge__logo { position: relative; width: 60%; height: auto; }
@media (max-width: 900px) {
	.rc-hero__media .rc-scope-badge__ring text { font-size: 9.5px; letter-spacing: 0; }
}

/* Επιλογή γλώσσας: ένα κουμπί με τον κωδικό της γλώσσας και λίστα όλων των γλωσσών. */
.rc-langs { position: relative; }
.rc-langs > summary { list-style: none; cursor: pointer; user-select: none; }
.rc-langs > summary::-webkit-details-marker { display: none; }
.rc-langs[open] > summary { border-color: var(--rc-blue); color: var(--rc-blue); }
.rc-langs__list {
	position: absolute; inset-inline-end: 0; top: calc(100% + 8px); z-index: 60; min-width: 190px; margin: 0; padding: .4rem; list-style: none;
	background: var(--rc-white); border: 1px solid var(--rc-line); border-radius: 18px; box-shadow: 0 24px 40px -24px rgba(11, 37, 69, .45);
}
.rc-langs__list a {
	display: flex; align-items: center; gap: .75rem; padding: .6rem .8rem; border-radius: 12px;
	color: var(--rc-navy); text-decoration: none; font-weight: 600; font-size: .9375rem;
}
.rc-langs__list a:hover, .rc-langs__list a:focus-visible { background: var(--rc-ice); color: var(--rc-blue); }
.rc-langs__list a[aria-current="true"] { background: var(--rc-ice); }
.rc-langs__code { min-width: 1.75rem; font-size: .75rem; font-weight: 800; letter-spacing: .04em; color: var(--rc-blue); }

/* Ιατρεία: τηλεφωνικό κέντρο και «Πώς θα έρθετε» (1.1.3). */
.rc-clinic__label { display: block; font-size: .8125rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--rc-blue); margin-bottom: .15rem; }
.rc-access { border-top: 1px solid var(--rc-line); padding-top: 1rem; display: grid; gap: .9rem; }
.rc-access__title { margin: 0; font-size: 1.0625rem; font-weight: 800; color: var(--rc-navy); }
.rc-access__group { display: grid; gap: .4rem; }
.rc-access__label { display: flex; align-items: center; gap: .5rem; margin: 0; font-size: .875rem; font-weight: 700; color: var(--rc-blue); }
.rc-access__list { list-style: none; margin: 0; padding: 0; display: grid; gap: .35rem; }
.rc-access__list li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .15rem 1rem; padding: .55rem .8rem; border-radius: 14px; background: var(--rc-white); font-size: .9375rem; color: var(--rc-slate); }
.rc-access__name { font-weight: 600; color: var(--rc-navy); }
.rc-access__walk { display: inline-flex; align-items: center; gap: .3rem; white-space: nowrap; color: var(--rc-muted); font-variant-numeric: tabular-nums; }
.rc-access__walk .rc-icon { color: var(--rc-blue); }

.rc-buses__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .4rem 1rem; }
.rc-buses__live { display: inline-flex; align-items: center; gap: .4rem; font-size: .8125rem; font-weight: 700; color: #137a3a; }
.rc-buses__dot { width: 8px; height: 8px; border-radius: 50%; background: #1f9d55; box-shadow: 0 0 0 0 rgba(31, 157, 85, .5); animation: rc-pulse 2s infinite; }
@keyframes rc-pulse { 70% { box-shadow: 0 0 0 7px rgba(31, 157, 85, 0); } 100% { box-shadow: 0 0 0 0 rgba(31, 157, 85, 0); } }
@media (prefers-reduced-motion: reduce) { .rc-buses__dot { animation: none; } }
.rc-buses__lines { display: block; font-weight: 500; font-size: .8125rem; color: var(--rc-muted); margin-top: .1rem; }
.rc-buses__arrivals { flex-basis: 100%; display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .35rem; }
.rc-buses__arrival { display: inline-flex; gap: .3rem; align-items: baseline; padding: .15rem .55rem; border-radius: 999px; background: var(--rc-ice); font-size: .8125rem; color: var(--rc-slate); font-variant-numeric: tabular-nums; }
.rc-buses__arrival strong { color: var(--rc-blue); }
.rc-buses__arrivals--none { font-size: .8125rem; color: var(--rc-muted); }
[dir="rtl"] .rc-buses__lines { /*rtl:ignore*/ text-align: right; }
.rc-buses__dir { margin: .35rem 0 0; font-size: .8125rem; font-weight: 800; letter-spacing: .02em; color: var(--rc-navy); }
.rc-buses__source { margin: .2rem 0 0; font-size: .75rem; color: var(--rc-muted); }

/* Βιογραφικό: θέσεις ευθύνης στον Στρατό (1.1.3). */
.rc-roles { list-style: none; padding: 0; margin: 1.25rem 0 2rem; display: grid; gap: .75rem; }
.rc-roles > li { position: relative; margin: 0; padding: 1rem 1.25rem 1rem 1.5rem; border-radius: var(--rc-radius-sm); background: var(--rc-ice); border-left: 4px solid var(--rc-blue); color: var(--rc-slate); line-height: 1.55; }
.rc-roles > li strong { display: block; font-size: 1.0625rem; color: var(--rc-navy); margin-bottom: .2rem; }
.rc-roles > li strong + br { display: none; }

/* Κριτικές Google (1.1.3). */
.wp-block-rc-reviews .rc-section-head { margin-bottom: 1.5rem; }
.rc-reviews__summary { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .75rem; margin: .75rem 0 0; color: var(--rc-slate); }
.rc-reviews__score { font-size: 2rem; font-weight: 800; color: var(--rc-navy); line-height: 1; }
.rc-stars { color: #f2a900; letter-spacing: .08em; font-size: 1.05rem; line-height: 1; }
.rc-stars__off { color: var(--rc-line); }
.rc-reviews { position: relative; }
.rc-reviews__track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 2.5rem) / 3); gap: 1.25rem; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; padding: .5rem 0 1.5rem; margin: -.5rem 0 -1.5rem; }
.rc-reviews__track::-webkit-scrollbar { display: none; }
.rc-reviews__track:focus-visible { outline: 3px solid var(--rc-blue); outline-offset: 4px; border-radius: var(--rc-radius); }
.rc-reviews__track > .rc-review { scroll-snap-align: start; box-shadow: 0 12px 24px -18px rgba(11, 37, 69, .35); }
@media (max-width: 1000px) { .rc-reviews__track { grid-auto-columns: calc((100% - 1.25rem) / 2); } }
@media (max-width: 640px) { .rc-reviews__track { grid-auto-columns: 86%; } }
@media (prefers-reduced-motion: reduce) { .rc-reviews__track { scroll-behavior: auto; } }
.rc-reviews__nav { display: flex; gap: .6rem; justify-content: flex-end; margin-top: 1.25rem; }
.rc-reviews__nav[hidden] { display: none; }
.rc-reviews__btn { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; border: 2px solid var(--rc-blue); background: var(--rc-white); color: var(--rc-blue); cursor: pointer; transition: background-color .2s, color .2s; }
.rc-reviews__btn:hover:not(:disabled) { background: var(--rc-blue); color: var(--rc-white); }
.rc-reviews__btn:disabled { opacity: .35; cursor: default; }
.rc-reviews__btn:focus-visible { outline: 3px solid var(--rc-navy); outline-offset: 3px; }
.rc-review { margin: 0; display: flex; flex-direction: column; gap: .9rem; padding: 1.75rem; border-radius: var(--rc-radius); background: var(--rc-white); border: 1px solid var(--rc-line); box-shadow: var(--rc-shadow); }
.rc-review__text { margin: 0; flex: 1; font-size: 1rem; line-height: 1.6; color: var(--rc-slate); }
.rc-review__text p { margin: 0; }
.rc-review__author { display: flex; align-items: center; gap: .75rem; font-size: .9375rem; }
.rc-review__author > span { display: grid; }
.rc-review__photo { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; flex: none; }
.rc-review__photo--initial { display: grid; place-items: center; background: var(--rc-mist); color: var(--rc-blue); font-weight: 800; }
.rc-review__name, .rc-review__name a { font-weight: 700; color: var(--rc-navy); text-decoration: none; }
.rc-review__name a:hover { text-decoration: underline; }
.rc-review__when, .rc-review__when a { color: var(--rc-muted); font-size: .875rem; text-decoration: none; }
.rc-reviews__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.75rem; }
.rc-btn.rc-btn--outline { border-color: var(--rc-blue); color: var(--rc-blue); background: transparent; }
.rc-btn.rc-btn--outline:hover { background: var(--rc-blue); color: var(--rc-white); }
.rc-reviews__source { margin: 1rem 0 0; font-size: .875rem; color: var(--rc-muted); }

/* Ομάδα με ένα μόνο μέλος (αρχική σελίδα, 1.1.3). */
.rc-team-single { display: grid; grid-template-columns: minmax(0, 340px) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center; }
.rc-team-single .rc-team__photo { margin: 0; }
.rc-team-single__text { display: grid; gap: .75rem; justify-items: start; }
.rc-team-single__text > * { margin: 0; }
.rc-team-single__bio { font-size: 1.125rem; line-height: 1.65; color: var(--rc-slate); max-width: 60ch; }
.rc-team-single .rc-btn { margin-top: .5rem; }
@media (max-width: 700px) { .rc-team-single { grid-template-columns: 1fr; } .rc-team-single .rc-team__photo { max-width: 320px; } }

/*rtl:begin:ignore*/
/* Γλώσσες από δεξιά προς αριστερά: τα βέλη δείχνουν προς την κατεύθυνση ανάγνωσης. */
[dir="rtl"] .rc-icon--arrow, [dir="rtl"] .rc-icon--chevron-left, [dir="rtl"] .rc-icon--chevron-right { transform: scaleX(-1); }
[dir="rtl"] .rc-link:hover .rc-icon--arrow { transform: scaleX(-1) translateX(3px); }
/* Τηλέφωνα, email και διευθύνσεις web μένουν από αριστερά προς δεξιά. */
[dir="rtl"] a[href^="tel:"], [dir="rtl"] a[href^="mailto:"], [dir="rtl"] input[type="tel"], [dir="rtl"] input[type="email"] { direction: ltr; unicode-bidi: isolate; }
[dir="rtl"] input[type="tel"], [dir="rtl"] input[type="email"] { text-align: right; }
[dir="rtl"] .rc-scope-badge__ring { direction: ltr; }
/*rtl:end:ignore*/
