/* Shared portal frame derived from the homepage; page content stays independent. */
body[data-page] .sidebar { background: linear-gradient(150deg,#f8fbfc,#f1f7f8); border-color: #e8eef0; }
body[data-page] .sidebar nav a.active { background: #dff0e9; color: #194c43; }
body[data-page] .sidebar-note--region { min-height: 148px; background: radial-gradient(ellipse at 95% 0,#b6dacf 0,transparent 60%),linear-gradient(140deg,#d3e8ef,#e8f2ef); color: #244d57; box-shadow: none; }
body[data-page] .sidebar-note--region .eyebrow,body[data-page] .sidebar-note--region p { color: #244d57; }
body[data-page] .sidebar-note--region svg { stroke: #6b9e98; opacity: .55; }
body[data-page] .topbar { border-bottom: 0; background: #fcfdfc; padding: 0 22px; }
body[data-page] .topbar .search { border-radius: 24px; background: #fff; width: 620px; }
body[data-page] .sidebar { width: 244px; padding: 28px 16px; overflow-y: auto; background: url('assets/sidebar-botanical.svg') bottom 385px left / 244px 330px no-repeat,linear-gradient(150deg,#f8fbfc,#f2f7fa); }
body[data-page] .workspace { margin-left: 244px; }
body[data-page] .brand { margin-bottom: 24px; font-size: 15px; }
body[data-page] .sidebar nav { gap: 4px; }
body[data-page] .sidebar nav a { min-height: 46px; padding: 12px 18px; border-radius: 13px; gap: 15px; font-size: 13px; }
body[data-page] .sidebar-bottom { padding-top: 28px; }
body[data-page] .sidebar-note--photo { position: relative; display: block; isolation: isolate; height: clamp(180px,30dvh,308px); min-height: 0; margin: 0 0 16px; padding: 18px 20px; border: 0; border-radius: 18px; background: #bcdde6; overflow: hidden; box-shadow: none; }
body[data-page] .sidebar-note--photo img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 48% 32%; }
body[data-page] .sidebar-note--photo::before { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(180deg,#c0dfeef5 0%,#c0dfeeea 27%,#c9e1e68c 44%,#c9e1e600 64%); }
body[data-page] .sidebar-note--photo .eyebrow { display: block; margin-bottom: 9px; color: #153d4b; font-size: 12px; font-weight: 700; letter-spacing: 0; }
body[data-page] .sidebar-note--photo p { max-width: 122px; margin: 0; color: #153d4b; font-size: 18px; line-height: 1.3; font-weight: 700; }
body[data-page] .sidebar-note-arrow { position: absolute; right: 15px; top: 55px; display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid #ffffff73; border-radius: 50%; background: #25876b; color: #fff; font-size: 21px; box-shadow: 0 3px 10px #2a65552b; }
body[data-page] .sidebar-note--photo:hover .sidebar-note-arrow { background: #1b6f56; }
body[data-page] .editor-link { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 10px 14px; margin-bottom: 32px; border: 1px solid #e1e9ed; border-radius: 13px; color: #2d665b; background: #f9fcfd; font-size: 11px; }
body[data-page] .editor-link > span:last-child { margin-left: auto; }
body[data-page] .sidebar-bottom > small { display: block; text-align: center; font-size: 10px; }
body[data-page] .topbar { padding-inline: 30px; gap: 24px; }
body[data-page] .topbar .search { width: 624px; max-width: 65%; height: 38px; padding: 6px 15px; }
body[data-page] .top-actions { gap: 14px; }
body[data-page] #saved { display: grid; place-items: center; width: 38px; height: 38px; border: 0; border-radius: 50%; background: #fde9df; color: #234654; font-size: 23px; padding: 0; }
@media(max-width:1250px) {
body[data-page] .sidebar { width: 220px; padding: 24px 14px; background-size: 220px 330px; }
body[data-page] .workspace { margin-left: 220px; }
body[data-page] .sidebar nav a { padding-inline: 13px; font-size: 12px; }
body[data-page] .sidebar-note--photo { padding: 16px; }
}
@media(max-width:950px) {
body[data-page] .sidebar { width: 185px; padding: 20px 10px; background-size: 185px 330px; }
body[data-page] .workspace { margin-left: 185px; }
body[data-page] .sidebar nav a { padding: 10px; gap: 9px; font-size: 11px; }
body[data-page] .sidebar-note--photo { padding: 15px; height: 250px; }
body[data-page] .sidebar-note--photo p { max-width: 105px; font-size: 17px; }
body[data-page] .sidebar-note-arrow { right: 10px; width: 30px; height: 30px; }
body[data-page] .editor-link { gap: 6px; padding-inline: 9px; font-size: 10px; }
}
@media(max-width:650px) {
body[data-page] .sidebar { width: 100%; padding: 13px; background: #f6fafb; overflow: visible; }
body[data-page] .workspace { margin-left: 0; }
body[data-page] .brand { margin-bottom: 12px; }
body[data-page] .sidebar nav a { min-height: 42px; padding: 8px 12px; font-size: 12px; }
body[data-page] .topbar { padding: 0 12px; gap: 10px; }
body[data-page] .topbar .search { width: auto; flex: 1; min-width: 0; max-width: none; }
body[data-page] .top-actions { gap: 7px; }
body[data-page] #saved { width: 32px; height: 32px; font-size: 20px; }
}
body[data-page] .sidebar nav a { padding-right: 8px; gap: 14px; }
body[data-page] .sidebar-note--photo img { height: 180%; object-position: 48% 0; }
@media(max-width:950px) {
body[data-page] .sidebar nav a { gap: 9px; }
}
@media(max-width:650px) {
body[data-page] .sidebar nav a { padding: 8px 12px; gap: 9px; }
}
body[data-page] .topbar { padding-inline: 12px; }
body[data-page] .topbar .search,body[data-page] .top-actions .header-language { height: 38px; }
body[data-page] .topbar { width: 100%; max-width: 1440px; margin-inline: auto; }
@media(min-width:1251px) {
body[data-page] .sidebar { width: 304px; background-size: 304px 330px; }
body[data-page] .workspace { margin-left: 304px; }
}
body[data-page] .topbar { max-width: none; margin-inline: 0; }

body[data-page] .workspace { min-height: 100dvh; background: linear-gradient(#0000004d,#0000004d),url('assets/altai-generated-background.png') center / cover no-repeat fixed; }
body[data-page] .topbar { background: transparent; border-bottom: 0; }
body[data-page] .topbar .search { border-radius: 24px; background: #fff; }
body[data-page] .sidebar nav a.active { background: #dff0e9; color: #194c43; }
body[data-page] .page > h1,body[data-page] .page > .breadcrumb,body[data-page] .page > .page-heading h1,body[data-page] .page > .page-heading > p,body[data-page] .page > .page-heading .eyebrow { color: #fff; text-shadow: 0 1px 3px #0008; }

body[data-page] .page > .eyebrow,body[data-page] .page > .section-intro { color: #fff; text-shadow: 0 1px 3px #0008; }
/* Match homepage outer content gutters without changing component padding. */
body[data-page] .workspace > #content > .page { width: 100%; max-width: none; margin: 0; padding: 0 12px 28px; }
body[data-page] .workspace > #content > .full-map:not(.is-map-fullscreen) { width: calc(100% - 24px); margin: 0 12px; }
@media(max-width:650px) {
 body[data-page] .workspace > #content > .page { padding: 10px 12px 24px; }
 body[data-page] .workspace > #content > .full-map:not(.is-map-fullscreen) { margin-top: 10px; }
}
/* Page-title hierarchy; card/table headings remain independent. */
body[data-page]:not([data-page=home]) .page > h1,
body[data-page=catalog] .catalog-heading h1,
body[data-page=toponym] .toponym-header h1 {
 font-size: 36px; font-weight: 650; line-height: 1.18; letter-spacing: -.8px;
 max-width: 24ch; margin: 8px 0 14px; overflow-wrap: anywhere;
}
body[data-page]:not([data-page=home]) .page > h1,
body[data-page=catalog] .catalog-heading h1 { color: #fff; text-shadow: 0 2px 8px #0005; }
body[data-page=toponym] .toponym-header h1 { color: #183b46; text-shadow: none; }
body[data-page]:not([data-page=home]) .page > .eyebrow,
body[data-page=catalog] .catalog-heading .eyebrow,
body[data-page=toponym] .toponym-header .eyebrow {
 font-size: 10px; font-weight: 600; line-height: 1.5; letter-spacing: .1em;
}
body[data-page]:not([data-page=home]) .page > .section-intro,
body[data-page=catalog] .catalog-heading .muted {
 max-width: 64ch; font-size: 14px; font-weight: 400; line-height: 1.65;
 margin: 0 0 24px; color: #f3f7f5; text-shadow: 0 1px 5px #0007;
}
body[data-page=catalog] .catalog-heading .muted { margin-bottom: 0; }
body[data-page]:not([data-page=home]) .page > .breadcrumb { font-size: 11px; line-height: 1.6; margin-bottom: 20px; text-shadow: 0 1px 5px #0007; }
@media(max-width:650px) {
 body[data-page]:not([data-page=home]) .page > h1,
 body[data-page=catalog] .catalog-heading h1,
 body[data-page=toponym] .toponym-header h1 { font-size: 28px; line-height: 1.22; letter-spacing: -.5px; margin: 7px 0 12px; }
 body[data-page]:not([data-page=home]) .page > .section-intro,
 body[data-page=catalog] .catalog-heading .muted { font-size: 13px; line-height: 1.65; }
 body[data-page]:not([data-page=home]) .page > .breadcrumb { margin-bottom: 16px; }
}
