/* Long translated copy must size the layout, never be clipped to English dimensions. */
html body :is(main, .site-footer) :is(.wrap, .approved-copy, .approved-section-heading, .visual-reading-content, .flow-intro-copy, .enquiry-intro, .enquiry-form, .newsletter-signup, .newsletter-introduction, .blog-card-content, .article-sidebar, .article-primary) { min-width: 0; }
html body :is(main, .site-footer) :is(h1,h2,h3,p,li,label,blockquote,figcaption) { overflow-wrap: break-word; }
html body :is(main, .site-footer) :is(a,button,input,select,textarea) { max-width: 100%; }
html body :is(main, .site-footer) :is(.button,.button-outline,.text-link,.package-book,.story-read-button) {
 box-sizing: border-box; white-space: normal; overflow-wrap: anywhere; text-align: left; min-width: 0; height: auto;
}
html body :is(main, .site-footer) :is(.button,.button-outline,.text-link,.package-book)>span[aria-hidden=true] { flex: 0 0 auto; }
html body #main.flow-page .page-banner :is(h1,.breadcrumb) { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
html body #main.flow-page .page-banner .breadcrumb :is(ol,li) { min-width: 0; max-width: 100%; }
html body #main.flow-page .page-banner .breadcrumb ol { flex-wrap: wrap; row-gap: 6px; }
html body #main.flow-page .page-banner .breadcrumb li { overflow-wrap: anywhere; }
/* Long legal labels remain visible; a scrollbar is not a navigation layout. */
html body .site-footer .footer-bottom>.footer-legal {
 display: flex; flex-wrap: wrap; overflow: visible; justify-content: flex-start; align-items: flex-start;
 gap: 14px 28px; text-align: left;
}
html body .site-footer .footer-bottom>.footer-legal>:is(a,button) {
 flex: 0 1 auto; white-space: normal; overflow-wrap: anywhere; text-align: left; height: auto;
}
html body .site-footer .footer-bottom>.footer-legal>:is(:first-child,:last-child) { margin-inline: 0; }
html body .site-footer :is(.footer-links a,.footer-email,.newsletter-consent) { overflow-wrap: anywhere; }
/* Leave room for the disclosure icon instead of letting it sit against a long question. */
html body #main.flow-contact .faq-list summary {
 position: relative; display: block; padding-right: 40px; height: auto; min-height: 32px; overflow-wrap: anywhere;
}
html body #main.flow-contact .faq-list summary>span[aria-hidden=true] { position: absolute; right: 0; top: 0; width: 24px; text-align: center; }
html body #main .legal-toc h2 { line-height: 1.6; padding-block: 3px; }
html body #main .legal-toc a { overflow-wrap: anywhere; white-space: normal; }
/* Keep titles and facts aligned between adjacent package cards, including three-line Greek titles. */
@supports (grid-template-rows: subgrid) {
 @media (min-width: 701px) {
  html body #main.flow-sessions .package-options { row-gap: 28px !important; }
  html body #main.flow-sessions .package-options .package-card {
   display: grid; grid-template-columns: minmax(0,1fr); grid-template-rows: subgrid; grid-row: span 2; row-gap: 20px; height: auto;
  }
  html body #main.flow-sessions .package-options .package-summary { grid-column: 1; grid-row: 1; margin: 0; width: 100%; }
  html body #main.flow-sessions .package-options h3 { min-height: 0; }
  html body #main.flow-sessions .package-options .package-book { margin-top: auto; }
  html body #main.flow-sessions .package-options .package-description { grid-column: 1; grid-row: 2; display: flex; flex-direction: column; align-self: stretch; }
 }
}
html:is([lang=fr],[lang=el]) body #main.flow-page :is(.approved-section-heading,.section-heading) :is(h1,h2) { max-width: 100%; }
html:is([lang=fr],[lang=el]) body #main.flow-page :is(.approved-cards,.practical-details,.package-options) h3 { overflow-wrap: anywhere; }
html:is([lang=fr],[lang=el]) body #main.flow-home :is(.section-ending,.experience-ending) { flex-wrap: wrap; gap: 24px 32px; }
html:is([lang=fr],[lang=el]) body #main.flow-home .section-ending>p { flex: 1 1 360px; }
html:is([lang=fr],[lang=el]) body #main.flow-home .section-ending>.text-link { flex: 0 1 auto; }
/* The header stays a desktop menu at desktop widths, with gaps that fit translated labels. */
@media (min-width: 960px) and (max-width: 1199px) {
 html:is([lang=fr],[lang=el]) body .site-header #navigation { gap: clamp(12px, 1.7vw, 20px); font-size: 15px; }
 html:is([lang=fr],[lang=el]) body .site-header .header-book { max-width: 100%; gap: 12px; }
 html:is([lang=fr],[lang=el]) body #main.flow-page :is(.approved-reading,.reading-layout,.service-process-layout) { column-gap: 40px; }
}
@media (max-width: 959px) {
 html body:has(.site-header .menu-toggle[aria-expanded=true]) .ish-local-launcher { visibility: hidden; }
 html body .site-header #navigation.open { overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; }
 html body .site-header #navigation .dropdown-panel { min-width: 0; max-width: 100%; width: 100%; }
 html body .site-header #navigation :is(a,summary,.header-book) { overflow-wrap: anywhere; min-width: 0; }
 html body .site-footer .footer-bottom>.footer-legal { gap: 12px 24px; }
}
@media (max-width: 700px) {
 html body #main.flow-sessions .package-options .package-card { height: auto; }
 html body #main.flow-sessions .package-options .package-summary { width: 100%; margin: 0 0 24px; padding: 20px; }
 html body #main.flow-sessions .package-options .package-summary h3 { min-height: 0; }
 html body #main.flow-page :is(.form-two-col,.comment-fields) { grid-template-columns: minmax(0,1fr); }
 html body #main.flow-home :is(.home-process-layout,.process-composition) { grid-template-columns: minmax(0,1fr); }
 html body #main.flow-home :is(.home-process-action,.process-booking) { grid-column: 1; grid-row: auto; width: 100%; max-width: none; text-align: left; }
 html body #main.flow-home .process-timeline { grid-row: auto; }
 html body #main.flow-home :is(.section-ending,.experience-ending) { align-items: flex-start; flex-direction: column; gap: 20px; }
 html body #main.flow-home .section-ending>p { flex: auto; }
 html body #main.flow-home .section-ending>.text-link { flex: auto; }
 html body .site-footer .footer-bottom>.footer-legal { display: grid; grid-template-columns: minmax(0,1fr); gap: 8px; }
 html body .site-footer .footer-bottom>.footer-legal>:is(a,button) { width: fit-content; min-height: 36px; line-height: 1.6; align-items: center; }
 html body #main.blog-article :is(.article-metadata,.article-breadcrumb) { flex-wrap: wrap; gap: 10px 16px; }
 html body #main.blog-article .comment-fields { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 380px) {
 html body .site-footer.calm-footer .footer-main>.footer-brand { grid-template-columns: minmax(0,1fr); gap: 20px; }
 html body .site-footer.calm-footer .footer-brand img { width: 136px; }
 html body .site-footer.calm-footer .newsletter-section { padding-inline: 20px; }
 html body #main.flow-sessions .package-options .package-card { padding: 22px !important; }
 html body #main:is(.flow-how,.flow-sessions) .approved-timeline>article { padding: 24px 20px; }
 html body #main:is(.flow-how,.flow-sessions) .approved-timeline .approved-number { position: relative; inset: auto; margin-bottom: 18px; }
 html body #main:is(.flow-how,.flow-sessions) .approved-timeline>article:after { display: none; }
}

/* Localized copy uses the shared homepage components and their natural heights. */
html body #main.flow-home .process-closing { grid-column: 1/-1; grid-row: 3; margin-top: 8px; max-width: 78ch; }
html body #main.flow-home .home-blog-preview .reading-layout { align-items: start; }
html body #main.flow-home .new-hero-support>.button { margin: 0 0 6px; }
html[lang=el] body #main.flow-home .new-hero-support>.button-outline { background: transparent; color: #fff3e9; border-color: #fff3e980; }
@media(max-width:959px) { html body #main.flow-home .process-closing { grid-row:4; } }
html body #main.flow-home .elevated-hero:not(:has(.new-credentials)) { padding-bottom: 48px; }
