/* Public HTML snapshot and server-rendered information pages.
   Scoped selectors keep the interactive app and all existing theme presets intact. */
.public-snapshot { background:#fbf8f4; color:#322b27; font:16px/1.65 Arial,sans-serif; min-height:100vh; }
.public-snapshot *, .catalog *, .public-snapshot *::before { box-sizing:border-box; }
.public-snapshot header, .public-snapshot main, .public-snapshot footer { max-width:1100px; margin:auto; padding:26px clamp(20px,5vw,70px); }
.public-snapshot header { display:flex; align-items:center; gap:24px; justify-content:space-between; border-bottom:1px solid #e6dcd2; flex-wrap:wrap; }
.public-snapshot header img { object-fit:contain; }
.public-snapshot main img { max-width:100%; height:auto; max-height:600px; object-fit:cover; }
.public-snapshot figure { margin:22px 0; }
.public-snapshot h1, .public-snapshot h2 { white-space:pre-line; overflow-wrap:anywhere; }
.public-snapshot section > img { width:min(100%,400px); }
.public-snapshot a { color:inherit; }
.public-snapshot a:focus-visible, .catalog a:focus-visible, .catalog summary:focus-visible { outline:3px solid #967c42; outline-offset:4px; }
.public-snapshot h1 { font:500 clamp(38px,6vw,70px)/1.05 Georgia,serif; margin:0 0 26px; }
.public-snapshot h2, .catalog h2 { font:normal clamp(26px,4vw,38px)/1.2 Georgia,serif; margin:42px 0 20px; }
.public-snapshot p, .catalog p { max-width:65ch; }
.public-snapshot section { padding:24px 0; }
.public-snapshot .snapshot-intro { display:grid; grid-template-columns:1fr 1fr; gap:45px; align-items:center; }
.public-snapshot .snapshot-intro > img { max-width:100%; height:auto; border-radius:45% 45% 2px 2px; }
.public-snapshot .button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 22px; background:#352823; color:white; text-decoration:none; }
.public-snapshot footer { border-top:1px solid #e6dcd2; }
.public-snapshot nav, body > footer nav { display:flex; flex-wrap:wrap; gap:8px 18px; }
.public-snapshot nav a, body > footer nav a { min-height:44px; display:inline-flex; align-items:center; font-size:14px; }
.public-snapshot footer > a { display:inline-flex; min-height:44px; align-items:center; margin-right:18px; }
main.catalog { display:block; min-height:65vh; padding-top:44px; padding-bottom:60px; }
.catalog h1 { font-size:clamp(38px,6vw,70px); line-height:1.06; overflow-wrap:anywhere; }
.catalog-list { padding:0; margin:16px 0 32px; list-style:none; }
.catalog-list li { padding:18px 0; border-bottom:1px solid #e6dcd2; overflow-wrap:anywhere; }
.catalog-list a { display:inline-block; padding:4px 0; font-weight:600; font-size:18px; line-height:1.4; }
.catalog-list li > span { display:block; color:#645a53; font-size:13px; }
.catalog-list p { margin:7px 0; }
.catalog-list small { display:block; color:#645a53; font-size:14px; }
.public-snapshot details, .catalog details { padding:16px 0; border-bottom:1px solid #e6dcd2; }
.public-snapshot summary, .catalog summary { font-weight:600; cursor:pointer; min-height:44px; padding:8px 0; }
body > footer button[data-cookie-preferences] { min-height:44px; margin-top:12px; padding:8px 14px; background:none; color:inherit; border:1px solid #756960; cursor:pointer; font:inherit; }
.public-breadcrumbs{grid-column:1/-1;font-size:13px;line-height:1.5;margin-bottom:14px;color:#645a53}
.public-breadcrumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;list-style:none;margin:0;padding:0}
.public-breadcrumbs li{display:inline-flex;align-items:center;gap:12px;overflow-wrap:anywhere}
.public-breadcrumbs li+li:before{content:"/";color:#92705f}.public-breadcrumbs a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:700px) {
  .public-snapshot .snapshot-intro { grid-template-columns:1fr; gap:25px; }
  .public-snapshot .snapshot-intro > img { width:100%; max-height:280px; object-fit:cover; }
}
