/* Consolidated shared public stylesheet. Original order preserved. */

/* === BEGIN static/css/eleftheria-brand.css === */
/* Eleftheria identity overrides. Do not modify the licensed Calmind source. */
:root { --ek-burgundy:#873951; --ek-rose:#C49092; --ek-ivory:#F4EFEC; }
body { background:#F4EFEC; }
.ek-brand { display:block; color:var(--ek-burgundy); font-size:21px; font-weight:700; line-height:1.2; text-decoration:none; }
.ek-brand small { display:block; font-size:11px; letter-spacing:.03em; margin-top:5px; }
.btn-main { background:var(--ek-burgundy) !important; border-color:var(--ek-burgundy) !important; color:#fff !important; }
.id-color { color:var(--ek-burgundy) !important; }
.ek-footer { background:#873951; color:#fff; padding:55px 0 25px; }
.ek-footer h3,.ek-footer a { color:#fff; }
.ek-post { height:100%; padding:32px; border-radius:16px; background:#fff; }
.ek-post h3 { font-size:24px; }
.ek-post a { color:#873951; }
@media(max-width:991px){.ek-brand{font-size:17px}.ek-brand small{font-size:9px}}
@media(max-width:575px){.ek-brand{font-size:15px}.ek-footer{padding:35px 0 20px}}

/* Phase 2: palette refinement. Calmind vendor files remain untouched. */
:root { --ek-blush:#F4EAEB; --ek-muted-rose:#BC8485; }
.bg-color-op-1 { background-color:var(--ek-blush) !important; }
.subtitle, .subtitle.s2 { color:var(--ek-burgundy); }
.btn-main:hover, .btn-main:focus-visible { background:#69263c !important; border-color:#69263c !important; }
a:focus-visible, button:focus-visible { outline:3px solid var(--ek-rose); outline-offset:3px; }
@media(max-width:767px) { .ek-brand { max-width:185px; } }
/* === END static/css/eleftheria-brand.css === */

/* === BEGIN static/css/phase7-static.css === */
/* Phase 7: scoped public-page styling. Original Calmind styles remain untouched. */
.ek-page-hero{padding:105px 0 88px}.ek-page-hero h1{font-size:clamp(2.5rem,5vw,4.3rem);line-height:1.15}.ek-page-hero .lead{max-width:760px;font-size:1.15rem;line-height:1.85}.ek-page-section{padding:88px 0}.ek-prose p{font-size:1.08rem;line-height:1.9;margin-bottom:1.3rem}.ek-prose h3{margin-top:2rem}.ek-about-images{position:relative;min-height:460px}.ek-about-photo-main{width:73%;border-radius:14px;object-fit:cover;height:420px}.ek-about-photo-secondary{position:absolute;width:48%;right:0;bottom:-25px;border-radius:14px;box-shadow:0 15px 45px #0002}.ek-info-card{background:#f4eaeb;border-radius:14px;padding:32px;height:auto}.ek-service-card img{aspect-ratio:4/3;object-fit:cover;border-radius:14px}.ek-service-card h3{font-size:1.45rem}.ek-service-card p{line-height:1.7}.ek-readmore,.ek-service-card h3 a,.ek-info-card h3 a{color:#873951!important}.ek-readmore{font-weight:700}.ek-cta-section{background:#f4eaeb}.ek-note{font-size:.9rem!important;color:#756b70;font-style:italic}.ek-service-card a:focus-visible,.ek-readmore:focus-visible{outline:3px solid #873951;outline-offset:4px}@media(max-width:767px){.ek-page-hero{padding:75px 0 55px}.ek-page-section{padding:55px 0}.ek-about-images{min-height:320px}.ek-about-photo-main{height:300px}.ek-about-photo-secondary{bottom:0}}
/* === END static/css/phase7-static.css === */

/* === BEGIN static/css/phase5-services.css === */
/* Phase 5: scoped service-page refinements; vendor files remain unchanged. */
.ek-service-hero { padding: 86px 0 76px; }
.ek-service-hero h1 { margin: 0 0 20px; }
.ek-service-lead { max-width: 780px; font-size: clamp(1.05rem,1.6vw,1.22rem); line-height:1.75; color:#51505a; }
.ek-service-section { padding: 80px 0 100px; min-height: 320px; }
.ek-service-card { display:flex; flex-direction:column; }
.ek-service-image { display:block; overflow:hidden; border-radius:12px; }
.ek-service-image img { display:block; aspect-ratio:7/5; object-fit:cover; }
.ek-service-card h3 a { color:#343943; text-decoration:none; }
.ek-service-card h3 a:hover { color:#873951; }
.ek-service-excerpt { color:#51505a; line-height:1.7; margin-bottom:16px; }
.ek-service-readmore, .ek-service-readmore:visited { display:inline-flex; align-items:center; gap:.4em; color:#873951 !important; font-weight:700; text-decoration:none; margin-top:auto; }
.ek-service-readmore:hover, .ek-service-readmore:focus-visible { color:#64263c !important; text-decoration:underline; }
.ek-service-back { margin-top:36px; }
.ek-service-body { color:#444550; font-size:1.06rem; line-height:1.85; overflow-wrap:anywhere; }
.ek-service-body p { margin:0 0 1.35em; }
.ek-service-body h2,.ek-service-body h3 { margin:1.5em 0 .65em; color:#343943; }
.ek-service-body h2:first-child,.ek-service-body h3:first-child { margin-top:0; }
.ek-service-body ul,.ek-service-body ol { margin-bottom:1.35em; padding-left:1.6em; }
.ek-service-body a { color:#873951; text-decoration:underline; }
.ek-service-empty { color:#67616a; font-style:italic; }
.ek-service-aside { background:#f4eaeb; padding:28px; border-radius:14px; }
.ek-service-aside h3 { font-size:1.45rem; }
.ek-service-aside p { line-height:1.7; }
.ek-service-aside .btn-main { display:inline-block; }
@media(max-width:767px){.ek-service-hero{padding:58px 0 52px}.ek-service-section{padding:52px 0 70px}.ek-service-aside{padding:22px}}
/* === END static/css/phase5-services.css === */

/* === BEGIN static/css/phase8-blog.css === */
.ek-blog-card{background:#fff;border:1px solid #eee3e5;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 6px 24px rgba(80,40,50,.045)}.ek-blog-cover{width:100%;height:220px;object-fit:cover;display:block}.ek-blog-card-content{padding:28px;flex:1;display:flex;flex-direction:column}.ek-blog-card h3{font-size:1.45rem;line-height:1.3}.ek-blog-card h3 a{color:#873951;text-decoration:none}.ek-blog-card-content .ek-readmore{margin-top:auto}.ek-blog-date{font-size:.87rem;color:#866d73;margin:8px 0 16px}.ek-blog-article-width{max-width:860px}.ek-blog-back{display:inline-block;margin-bottom:22px;color:#873951}.ek-blog-featured{margin-bottom:38px}.ek-blog-featured img,.ek-blog-body figure img{max-width:100%;height:auto;border-radius:10px}.ek-blog-body{font-size:1.1rem;line-height:1.85;color:#453c3f}.ek-blog-body p{margin:0 0 1.3em}.ek-blog-body h2,.ek-blog-body h3{margin:1.6em 0 .7em;color:#873951}.ek-blog-body figure{margin:30px 0}.ek-blog-body a{color:#873951;text-decoration:underline}.ek-blog-bottom{border-top:1px solid #eadfe2;margin-top:42px;padding-top:24px}@media(max-width:767px){.ek-blog-cover{height:200px}.ek-blog-card-content{padding:22px}}
/* === END static/css/phase8-blog.css === */

/* === BEGIN static/css/legal-consent.css === */
/* Local privacy/legal pages and equal-prominence cookie consent. */
.ek-footer-identity { font-size: .84rem; opacity: .86; line-height: 1.7; }
.ek-footer-links { line-height: 2; }
.ek-footer-legal-links { display:flex; flex-wrap:wrap; align-items:baseline; gap:.35rem .9rem; margin-top:1rem; font-size:.88rem; }
.ek-footer-legal-links > a, .ek-footer-legal-links > .ek-cookie-settings-link {
  display:inline; margin:0; padding:0; background:transparent; border:0;
  color:#fff; font-family:inherit; font-size:inherit; font-weight:inherit;
  line-height:inherit; text-decoration:none; white-space:nowrap; vertical-align:baseline;
}
.ek-footer-legal-links > .ek-cookie-settings-link { cursor:pointer; }
.ek-footer-legal-links > a:hover, .ek-footer-legal-links > a:focus-visible,
.ek-footer-legal-links > .ek-cookie-settings-link:hover,
.ek-footer-legal-links > .ek-cookie-settings-link:focus-visible { text-decoration:underline; text-underline-offset:3px; }
.ek-cookie-settings-link { font:inherit; color:inherit; background:none; border:0; padding:0; cursor:pointer; }
.ek-legal-prose { max-width:850px; margin:0 auto; color:#374148; line-height:1.8; font-size:1.03rem; }
.ek-legal-prose h2 { font-size:clamp(1.35rem,2.1vw,1.8rem); margin:2rem 0 .65rem; color:#873951; }
.ek-legal-prose p { margin:0 0 1rem; }
.ek-legal-prose a { text-decoration:underline; text-underline-offset:3px; }
.ek-policy-date { font-size:.88rem; opacity:.75; }
.ek-legal-details { margin:1.5rem 0; }
.ek-legal-details > div { display:grid; grid-template-columns:minmax(140px,1fr) 2fr; gap:1rem; border-bottom:1px solid #d9e1de; padding:.7rem 0; }
.ek-legal-details dt { font-weight:600; color:#5e3e49; }
.ek-legal-details dd { margin:0; overflow-wrap:anywhere; }
.ek-legal-scroll { max-width:100%; overflow-x:auto; }
.ek-cookie-table { width:100%; border-collapse:collapse; min-width:500px; }
.ek-cookie-table th,.ek-cookie-table td { padding:.8rem; border-bottom:1px solid #d9e1de; text-align:left; vertical-align:top; }
.ek-cookie-table th { background:#f2f5f1; color:#873951; }
.ek-policy-cookie-button { border:1px solid #873951; border-radius:7px; color:#873951; background:transparent; padding:.65rem 1rem; cursor:pointer; }
.ek-cookie-banner[hidden] { display:none !important; }
.ek-cookie-banner { position:fixed; inset:auto 0 0; z-index:5000; background:#F4EFEC; color:#47373c; border-top:1px solid #dec4c9; box-shadow:0 -5px 28px rgba(20,35,29,.15); }
.ek-cookie-banner-inner { width:min(1150px,calc(100% - 30px)); margin:auto; display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:1.25rem 0; }
.ek-cookie-copy { flex:1; max-width:730px; line-height:1.5; }
.ek-cookie-copy strong { display:block; font-size:1.05rem; margin-bottom:.25rem; }
.ek-cookie-heading { display:flex; align-items:center; justify-content:space-between; gap:.8rem; }
.ek-cookie-close { border:0; background:none; font:inherit; font-size:.85rem; color:#873951; text-decoration:underline; cursor:pointer; padding:.2rem .35rem; }
.ek-cookie-current-choice { font-weight:600; color:#67394b !important; }
.ek-cookie-copy p { margin:0 0 .35rem; font-size:.9rem; color:#47373c; }
.ek-cookie-copy a { color:#873951; font-size:.9rem; text-decoration:underline; }
.ek-cookie-buttons { display:grid; grid-template-columns:1fr 1fr; gap:.7rem; min-width:350px; }
.ek-cookie-buttons button { min-height:46px; padding:.65rem .85rem; border:2px solid #873951; border-radius:7px; background:#873951; color:#fff; font-family:inherit; line-height:1.25; font-size:.9rem; font-weight:600; cursor:pointer; }
.ek-cookie-buttons button:hover,.ek-cookie-buttons button:focus-visible { background:#69263c; border-color:#69263c; }
.ek-cookie-buttons button:focus-visible,.ek-cookie-settings-link:focus-visible,.ek-cookie-close:focus-visible { outline:3px solid #b88b50; outline-offset:3px; }
.ek-ethics-section { padding:0 0 .4rem; }
.ek-ethics-section > p { margin:.6rem 0 1rem; }
.ek-ethics-clauses { margin:.15rem 0 1.25rem 1.5rem; }
.ek-ethics-clauses p { margin:.3rem 0; }
@media(max-width:575px) { .ek-footer-legal-links { gap:.3rem .75rem; } .ek-ethics-clauses { margin-left:.75rem; } }
@media(max-width:760px){.ek-cookie-banner-inner{flex-direction:column; align-items:stretch; gap:.8rem;padding:.85rem 0}.ek-cookie-buttons{min-width:0;width:100%;gap:.5rem}.ek-cookie-buttons button{padding:.65rem .4rem;font-size:.82rem}.ek-legal-details>div{grid-template-columns:1fr;gap:.15rem}}
/* === END static/css/legal-consent.css === */

/* === BEGIN static/css/a7-contact.css === */
/* A7 contact page: office map + centrally managed contact card.
   The map deliberately has a definite height, not 100% of its column:
   its directions/disclosure sit BELOW it and must remain in normal flow. */
.ek-office-map {
  position: relative;
  width: 100%;
  height: 360px;
  min-height: 0;
  overflow: hidden;
  border: 1px solid #e8d4da;
  border-radius: 14px;
  background: linear-gradient(130deg, #f4eaeb, #e9dadd);
}
.ek-office-map-frame {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  border: 0;
}
.ek-office-map-frame[hidden] { display: none; }
.ek-office-map-unavailable {
  padding: 36px;
  text-align: center;
  color: #775d67;
}
/* Directions and disclosure belong to the same flowing row beneath the map. */
.ek-office-map-details {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 18px;
  padding-top: 17px;
}
.ek-office-map-directions {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  margin: 0;
  padding: 10px 22px;
  border: 1px solid #d8bfc8;
  border-radius: 24px;
  background: #fff;
  color: #873951;
  font-weight: 700;
  line-height: 1.35;
  text-decoration: none !important;
  transition: background-color .15s, border-color .15s;
}
.ek-office-map-directions:hover,
.ek-office-map-directions:focus-visible {
  background: #f4eaeb;
  border-color: #873951;
  color: #69263c;
}
.ek-office-map-privacy {
  flex: 1 1 245px;
  min-width: 0;
  margin: 0;
  color: #786e73;
  font-size: .8rem;
  line-height: 1.55;
}
/* Office contact card */
.ek-office-contact-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  height: 100%;
}
.ek-office-contact-card h3 { margin-bottom: 20px; }
.ek-office-contact-card address {
  font-style: normal;
  font-weight: 600;
  line-height: 1.65;
}
.ek-office-contact-card p { line-height: 1.65; }
.ek-office-contact-card .ek-office-contact-label {
  margin: 8px 0 3px;
  color: #775d67;
  font-size: .85rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.ek-office-phone {
  font-size: 1.2rem;
  font-weight: 700;
  overflow-wrap: anywhere;
}
.ek-office-book { margin: 10px 0 14px; }
.ek-office-sensitive-note {
  margin-top: auto;
  color: #675d61;
  font-size: .86rem !important;
}
@media (max-width: 991px) {
  .ek-office-map { height: 350px; }
}
@media (max-width: 576px) {
  .ek-office-map { height: 290px; }
  .ek-office-map-details { align-items: flex-start; gap: 12px; }
  .ek-office-map-privacy { flex-basis: 100%; }
}
/* === END static/css/a7-contact.css === */

/* === A7 mobile navigation: dark, readable links on the light header. ===
   Calmind's generic mobile selector gives anchors white text, while the
   header itself is white. Scope the correction to the light mobile header.
   The responsive layout and existing menu-toggle JavaScript are unchanged. */
@media only screen and (max-width: 992px) {
  header.header-light.header-mobile #mainmenu > li > a {
    display: block;
    box-sizing: border-box;
    width: 100%;
    padding: 12px 12px;
    text-align: left;
    color: #343943 !important;
  }
  header.header-light.header-mobile #mainmenu > li > a:hover,
  header.header-light.header-mobile #mainmenu > li > a:focus-visible {
    color: var(--ek-burgundy, #873951) !important;
  }
}
/* === END A7 mobile navigation === */

/* Consent preferences v2 — compact, accessible, equal-prominence choices. */
.ek-cookie-banner { max-height:min(90vh,780px); overflow-y:auto; }
.ek-cookie-banner-inner { align-items:flex-start; }
.ek-cookie-copy { max-width:760px; }
.ek-cookie-categories { display:grid; gap:.45rem; margin:.8rem 0; }
.ek-cookie-category { display:flex; align-items:center; justify-content:space-between; gap:1rem; background:rgba(255,255,255,.55); border:1px solid #dec4c9; border-radius:9px; padding:.55rem .8rem; }
.ek-cookie-category strong { font-size:.91rem; color:#603746; }
.ek-cookie-category small { display:block; font-size:.8rem; line-height:1.35; margin-top:.15rem; }
.ek-cookie-required { white-space:nowrap; font-weight:600; font-size:.77rem; color:#6d4b58; }
.ek-cookie-optional { cursor:pointer; }
.ek-cookie-optional:has(input:disabled) { opacity:.68; cursor:default; }
#ek-cookie-analytics { appearance:auto; width:20px; height:20px; accent-color:#873951; flex-shrink:0; cursor:pointer; }
#ek-cookie-analytics:disabled { cursor:default; }
#ek-cookie-analytics:focus-visible { outline:3px solid #b88b50; outline-offset:3px; }
.ek-cookie-buttons { grid-template-columns:1fr; min-width:210px; }
.ek-cookie-buttons button:disabled { opacity:.55; cursor:not-allowed; }
.ek-cookie-buttons button:disabled:hover { background:#873951; border-color:#873951; }
@media(max-width:760px){.ek-cookie-category{gap:.6rem}.ek-cookie-banner-inner{gap:.6rem}.ek-cookie-buttons{grid-template-columns:1fr 1fr}.ek-cookie-buttons #ek-cookie-save{grid-column:1/-1}}
@media(max-width:400px){.ek-cookie-required{white-space:normal}.ek-cookie-category strong{font-size:.84rem}.ek-cookie-buttons{grid-template-columns:1fr}.ek-cookie-buttons #ek-cookie-save{grid-column:auto}}
