/* Elsewhere 1.1.1: focused extensions, after base CSS, before plugin adapters. */
html { scroll-padding-top:var(--ew-scroll-offset,112px); }
.ew-prose :is(h2,h3,h4,h5,h6) { scroll-margin-top:0; }
.ew-story__image img, .ew-hero__media img, .ew-hero--top .ew-hero__media img,
.ew-hero--bottom .ew-hero__media img, .ew-article-cover img { object-position:var(--ew-cover-position,50% 50%); }
/* content profile preserves the whole source; the frame controls the crop. */
.ew-hero[data-overlay="strong"] .ew-hero__shade { background:linear-gradient(180deg,#0d1914b8,#0d1914a8 45%,#0d1914e8); }
.ew-story__reading { display:block; margin-top:16px; color:var(--ew-muted); font:var(--ew-text-label)/1.55 var(--ew-sans); }
.ew-place[aria-current] { border-color:currentColor; }
.ew-place[aria-current] .ew-place__name { text-decoration:underline; text-underline-offset:8px; }
.ew-brand__logo--cover { display:none; }
.ew-header--cover:not(.is-scrolled) .ew-brand__logo--cover { display:block; }
.ew-header--cover:not(.is-scrolled) .ew-brand__logo--base { display:none; }
.ew-dialog-ready .ew-noscript-search { display:none; }
.ew-hero .ew-search-form button:focus-visible { outline-color:var(--ew-ink); }
.ew-toc a { color:var(--ew-muted); text-decoration:none; }
.ew-toc a:hover { text-decoration:underline; }
.ew-toc a[aria-current="location"] { color:var(--ew-accent); font-weight:600; }
.ew-toc a[data-level="3"] { margin-left:1.25em; font-size:.95em; }
.ew-cover-block { margin:0 0 60px; }
.ew-cover-block .ew-article-cover { margin-bottom:0; }
.ew-cover-caption { width:min(760px,calc(100% - 2 * var(--ew-gutter))); margin:14px auto 0; font:.9375rem/1.65 var(--ew-sans); color:var(--ew-muted); }
.ew-cover-caption > span { display:block; }
.ew-article-cover[data-cover-ratio="natural"] { aspect-ratio:auto; background:none; }
.ew-article-cover[data-cover-ratio="natural"] :is(picture,img) { height:auto; }
.ew-article-cover[data-cover-ratio="natural"] img { width:auto; max-width:100%; margin-inline:auto; }
.ew-article-cover[data-cover-ratio="16-9"] { aspect-ratio:16/9; }
.ew-article-cover[data-cover-ratio="21-9"] { aspect-ratio:21/9; }
.ew-post-nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ew-post-nav > div { min-width:0; overflow-wrap:anywhere; }
.ew-facts a { text-decoration:underline; text-underline-offset:4px; }
/* All standalone media wrappers receive the same column, including picture.
   No HTML reserialization and no srcset/lightbox rewriting. */
.ew-prose > :is(img,picture),
.ew-prose > a:has(> :is(img,picture):only-child),
.ew-prose > p.ew-media-block:has(> :is(img,picture):only-child),
.ew-prose > p.ew-media-block:has(> a:only-child > :is(img,picture):only-child) { grid-column:1/-1; }
.ew-prose > :is(img,picture), .ew-prose > a:has(> :is(img,picture):only-child) { justify-self:center; }
.ew-prose > figure:not(.ew-gallery),
.ew-prose > p.ew-media-block:has(> :is(img,picture):only-child),
.ew-prose > p.ew-media-block:has(> a:only-child > :is(img,picture):only-child) { text-align:center; }
.ew-prose > figure:not(.ew-gallery) img,
.ew-prose > picture img, .ew-prose > img,
.ew-prose > a:has(> :is(img,picture):only-child) img,
.ew-prose > p.ew-media-block > img:only-child, .ew-prose > p.ew-media-block > picture:only-child img,
.ew-prose > p.ew-media-block > a:only-child > img:only-child, .ew-prose > p.ew-media-block > a:only-child > picture:only-child img { height:auto; max-width:100%; margin-inline:auto; }
.ew-prose > p:not(.ew-media-block) img, .ew-prose img.ew-inline-image { display:inline; height:auto; margin:0; vertical-align:middle; }
.ew-prose > .alignnormal { grid-column:2; }
.ew-article[data-media-size="fill"] .ew-prose > :is(img,picture),
.ew-article[data-media-size="fill"] .ew-prose > a:has(> :is(img,picture):only-child),
.ew-article[data-media-size="fill"] .ew-prose > figure:not(.ew-gallery) img,
.ew-article[data-media-size="fill"] .ew-prose > picture img,
.ew-article[data-media-size="fill"] .ew-prose > a:has(> :is(img,picture):only-child) img,
.ew-article[data-media-size="fill"] .ew-prose > p.ew-media-block > :is(img,picture):only-child,
.ew-article[data-media-size="fill"] .ew-prose > p.ew-media-block > a:only-child > :is(img,picture):only-child,
.ew-article[data-media-size="fill"] .ew-prose > p.ew-media-block > :is(picture,a):only-child img { width:100%; }
.ew-prose > p:not(.ew-media-block) picture { display:inline; }
/* Drop caps sink down, never intentionally rise above the first text line.
   Unsupported browsers retain a normal initial rather than a fragile float. */
.ew-dropcap-target::after { display:none; }
@supports (initial-letter:2) or (-webkit-initial-letter:2) {
 .ew-dropcap-target::first-letter { -webkit-initial-letter:2; initial-letter:2; margin:0 .12em 0 0; font-family:var(--ew-serif); font-weight:400; color:var(--ew-dark); }
 .ew-article[data-dropcap-lines="3"] .ew-dropcap-target::first-letter { -webkit-initial-letter:3; initial-letter:3; }
}
.ew-reading-tools { display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin:0 0 32px; }
.ew-reading-tools button { background:transparent; border:1px solid var(--ew-line); padding:10px 16px; min-height:44px; font:var(--ew-text-ui)/1.4 var(--ew-sans); }
.ew-reading-tools button:hover { background:var(--ew-tint); }
.ew-copy-fallback { display:block; flex:1 0 100%; min-width:0; font:var(--ew-text-label)/1.6 var(--ew-sans); }
.ew-copy-fallback input { display:block; width:100%; min-width:0; margin-top:8px; border:1px solid var(--ew-line); color:var(--ew-ink); background:var(--ew-paper); padding:12px; }
/* Small editorial components, not a page builder. */
.ew-prose > .ew-callout { grid-column:2; padding:24px 28px; margin:24px 0 38px; border-left:3px solid var(--ew-accent); background:var(--ew-tint); font:var(--ew-text-summary)/1.75 var(--ew-sans); }
.ew-callout > .ew-callout__title { display:block; font-weight:650; margin-bottom:8px; color:var(--ew-accent); }
.ew-prose > .ew-callout--warning { border-left-width:6px; }
.ew-prose > .ew-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; grid-column:1/-1; margin:24px 0 46px; }
.ew-prose > .ew-gallery--three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ew-gallery > figure { margin:0; min-width:0; }
.ew-gallery > figure :is(picture,a) { display:block; width:100%; }
.ew-prose .ew-gallery > figure img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
.ew-prose .ew-gallery figcaption { text-align:left; font-size:.9rem; }
.ew-prose .ew-itinerary { list-style:none; padding:0; counter-reset:days; }
.ew-itinerary > li { counter-increment:days; padding:20px 0 20px 62px; border-top:1px solid var(--ew-line); position:relative; }
.ew-itinerary > li::before { content:counter(days,decimal-leading-zero); position:absolute; left:0; color:var(--ew-accent); font:var(--ew-text-ui)/1.8 var(--ew-sans); }
.ew-itinerary > li > strong { display:block; }
@media (min-width:901px) {
 .ew-mobile-nav--overflow { display:block; }
 .ew-mobile-nav--overflow > summary { display:flex; align-items:center; justify-content:center; list-style:none; width:44px; height:44px; }
 .ew-mobile-nav--overflow > summary::-webkit-details-marker { display:none; }
 .ew-mobile-nav--overflow > nav { position:absolute; top:100%; right:var(--ew-gutter); display:flex; flex-direction:column; gap:4px; width:min(440px,90vw); max-height:calc(100svh - 112px); overflow-y:auto; padding:24px; background:var(--ew-paper); color:var(--ew-ink); border:1px solid var(--ew-line); }
 .ew-mobile-nav--overflow nav > a { padding:10px 0; border-bottom:1px solid var(--ew-line); }
}
@media (max-width:640px) {
 .ew-cover-block { margin-bottom:36px; }
 .ew-prose > .ew-gallery, .ew-prose > .ew-gallery--three { grid-template-columns:1fr; gap:30px; }
 .ew-prose > .ew-callout { padding:20px; }
 .ew-reading-tools { justify-content:flex-start; }
}
@media print {
 .ew-reading-tools, .ew-noscript-search { display:none !important; }
 .ew-dropcap-target::first-letter { -webkit-initial-letter:normal; initial-letter:normal; font:inherit; margin:0; }
 .ew-cover-block { margin-bottom:24px; }
 .ew-article-cover { height:auto; max-height:none; aspect-ratio:auto !important; }
 .ew-article-cover :is(img,picture) { height:auto; }
 .ew-article-cover img { max-height:220px; width:auto; max-width:100%; object-fit:contain; margin:auto; }
 .ew-prose .ew-gallery { display:block; }
 .ew-prose .ew-gallery > figure { margin-bottom:24px; }
 .ew-prose figure, .ew-prose .ew-callout { max-width:100%; }
 .ew-article-meta > * { color:#000; }
}
