:root{--ink:#21354b;--blue:#273ca3;--cyan:#22bde4;--pale:#eff6fa;--line:#dce5ed;font:16px/1.58 "Segoe UI",Arial,sans-serif;color:var(--ink);background:white}*{box-sizing:border-box}body{margin:0}a{color:var(--blue);text-underline-offset:.18em}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[contenteditable]:focus-visible{outline:3px solid #1ba6cc;outline-offset:3px}img{display:block;max-width:100%;height:auto}.wrap{width:min(1190px,calc(100% - 56px));margin-inline:auto}.skip{position:absolute;top:-8em;background:white;padding:12px;z-index:10}.skip:focus{top:0}header{background:#fff;border-bottom:1px solid #e3e8f5}.top{display:flex;align-items:center;gap:2.3rem;min-height:76px}.brand{display:inline-flex;align-items:center;gap:.55rem;text-decoration:none;color:#24356c;font-weight:800;font-size:1.18rem;white-space:nowrap}.accent{color:#007f9e}.top nav{display:flex;align-items:center;gap:.4rem 1.15rem;flex-wrap:wrap;font-size:.82rem}.top nav a{text-decoration:none;font-weight:700}.top nav a:hover,.footer a:hover{text-decoration:underline}.hero{background:#edf5fb;position:relative;isolation:isolate;overflow:hidden}.hero-body{padding:4rem 0 3.6rem;position:relative;z-index:1}.hero-home .hero-body{min-height:480px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.hero-home.has-photo{background:#183043;color:white}.hero-home.has-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,24,43,.87),rgba(10,24,43,.4) 75%,rgba(10,24,43,.22));z-index:0}.hero-photo{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;z-index:-1;object-position:center 55%}.eyebrow{font-size:.79rem;text-transform:uppercase;font-weight:800;letter-spacing:.13em;margin:0 0 .85rem;color:#176481}.has-photo .eyebrow{color:#aff1ff}h1,h2,h3{line-height:1.12;margin:0 0 .85rem;font-family:"Arial Narrow","Segoe UI",Arial,sans-serif;letter-spacing:-.025em}h1{font-size:clamp(2.35rem,5.7vw,5rem);font-weight:800;max-width:900px}h1::after{content:"";display:block;width:94px;height:5px;background:var(--cyan);margin-top:1.15rem}.hero:not(.hero-home) h1{font-size:clamp(2.25rem,5vw,4rem)}h2{font-size:clamp(1.55rem,3.2vw,2.55rem)}h3{font-size:1.3rem}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin:1.25rem 0}.primary,.quiet{font:inherit;font-weight:750;display:inline-block;padding:.7rem 1rem;text-decoration:none;border:1px solid transparent;border-radius:5px;cursor:pointer}.primary{background:var(--cyan);color:#152e43}.primary:hover{background:#5fd6f2}.quiet{border-color:#9db6c9;color:var(--ink);background:white}.hero.has-photo .quiet{background:#fff;color:#183043;border-color:white}.featured{padding-top:3.2rem;padding-bottom:1.2rem}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:1.25rem}.card{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}.card a{color:inherit;text-decoration:none;display:block;height:100%}.card a:hover h3{text-decoration:underline}.card img,.mountain{width:100%;height:170px;object-fit:cover;background:linear-gradient(155deg,#d7edf4,#ecf3fa)}.card a>div:not(.mountain){padding:1rem}.card h3{margin:.35rem 0 .9rem}.card small,.card span{color:#244d70;font-size:.85rem}.prose{max-width:850px;margin:3.5rem auto;overflow-wrap:anywhere}.prose h2,.prose h3{margin-top:1.7em}.prose p{margin:.8rem 0}.prose figure{margin:1.1rem 0}.prose img{max-height:580px;object-fit:contain;border-radius:5px}.prose table{display:block;overflow-x:auto;border-collapse:collapse}.prose td,.prose th{border:1px solid var(--line);padding:.45rem .6rem}.prose blockquote{border-left:4px solid var(--cyan);padding-left:1rem;margin-left:0}.footer{display:flex;gap:1.3rem 2.5rem;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:1.6rem 0}footer{background:var(--pale);border-top:1px solid var(--line)}.footer div{display:flex;gap:.75rem;flex-wrap:wrap}.footer small{color:#47637a}.admin{padding:3rem 0 4rem}.admin h1{font-size:clamp(2rem,5vw,3.1rem);margin:.6rem 0 1rem}.directory,.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.group{padding:1rem;border:1px solid var(--line);border-radius:6px}.group h2{font-size:1.35rem}.edit-list{list-style:none;padding:0}.edit-list li{border-bottom:1px solid var(--line)}.edit-list a{display:flex;gap:.25rem;flex-direction:column;padding:.65rem 0;text-decoration:none}.edit-list a:hover strong{text-decoration:underline}.edit-list span{color:#51677a;overflow-wrap:anywhere;font-size:.85rem}.fields label,.editor-box label{display:flex;flex-direction:column;gap:.35rem;font-weight:650}.fields label:has([type=checkbox]){flex-direction:row;align-items:center;gap:.7rem}.fields input:not([type=checkbox]),.fields select,textarea{padding:.6rem;font:inherit;border:1px solid #9db0c1;background:white;border-radius:4px;color:var(--ink)}[readonly]{background:#edf3f8!important}.editor-box{margin-top:1.1rem}.editor{max-width:none;margin:0;min-height:250px;border:1px solid #9db0c1;padding:1rem;border-radius:4px}.toolbar{margin-bottom:.4rem}.toolbar button{font:inherit;background:white;border:1px solid #9db0c1;border-radius:4px;padding:.3rem .6rem}.error{color:#8f1f19}.admin p,.admin li{overflow-wrap:anywhere}@media(max-width:940px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.top{gap:.8rem;align-items:flex-start;flex-direction:column;padding:1rem 0}.hero-home .hero-body{min-height:420px}}@media(max-width:560px){.wrap{width:calc(100% - 34px)}.grid,.directory,.fields{grid-template-columns:1fr}.hero-body{padding:2.5rem 0}.hero-home .hero-body{min-height:380px}.top nav{gap:.25rem .75rem}.featured{padding-top:2rem}.prose{margin:2.25rem 0}.card img,.mountain{height:185px}}
[hidden]{display:none!important}

/* Общая навигация и восстановленная главная */
:root { --ink:#162c43; --blue:#145670; --cyan:#83d5e2; --pale:#eef5f6; --line:#dbe5e9; }
html { scroll-padding-top: 18px; }
.wrap { width:min(1240px,calc(100% - 64px)); }
.contact-band { background:#122a40; color:#fff; }
.contact-inner,.contact-direct,.contact-social { display:flex; align-items:center; gap:clamp(.7rem,2vw,1.5rem); flex-wrap:wrap; }
.contact-inner { justify-content:space-between; min-height:42px; padding:.35rem 0; font-size:.85rem; }
.contact-inner a { color:inherit; text-decoration:none; }
.contact-inner a:hover { text-decoration:underline; }
.contact-direct a:first-child { font-weight:750; }
.masthead { display:flex; gap:2.25rem; align-items:center; min-height:87px; }
.masthead .brand { flex:none; color:var(--ink); }
#site-navigation { flex:1; min-width:0; }
.quick-links,.main-navigation { display:flex; align-items:center; gap:.5rem 1.2rem; flex-wrap:wrap; }
.quick-links { padding:.45rem 0 .2rem; justify-content:flex-end; font-size:.8rem; }
.main-navigation { justify-content:space-between; font-size:.88rem; font-weight:650; padding:.2rem 0 .45rem; }
.quick-links a,.main-navigation a { text-decoration:none; }
.quick-links a:hover,.main-navigation a:hover { text-decoration:underline; }
.main-navigation a,.main-navigation summary { color:var(--ink); }
.nav-group { position:relative; }
.nav-group summary,.faq summary { cursor:pointer; }
.nav-group summary { list-style:none; padding:.2rem 0; }
.nav-group summary::-webkit-details-marker { display:none; }
.nav-group summary::after { content:'⌄'; margin-left:.3em; color:#386879; }
.nav-group[open] summary { color:var(--blue); }
.nav-options { display:grid; gap:.12rem; position:absolute; z-index:5; top:100%; left:-.6rem; min-width:220px; width:max-content; max-width:275px; background:white; border:1px solid var(--line); border-radius:.6rem; padding:.45rem; box-shadow:0 .9rem 2rem #132b4520; }
.nav-options a { padding:.43rem .55rem; border-radius:.25rem; }
.nav-options a:hover { background:#eef5f6; }
.menu-toggle,.carousel-controls button { background:white; border:1px solid #adc3ce; border-radius:.5rem; color:var(--ink); cursor:pointer; font:inherit; font-weight:700; padding:.5rem .75rem; }
.menu-toggle span { margin-left:.5em; }
.hero-home.has-photo::after { background:linear-gradient(90deg,#10283de8,#10283d91 55%,#10283d29); }
.hero-home .hero-body { min-height:clamp(420px, 43vw, 580px); padding:3.4rem 0; }
.hero-home h1 { font-size:clamp(2.65rem,5.3vw,4.8rem); max-width:820px; letter-spacing:-.045em; }
.hero-home .actions { gap:1.2rem; }
.hero-home .primary { padding:.85rem 1.2rem; border-radius:.6rem; }
.hero-link { color:inherit; font-weight:650; }
.home-block { margin:clamp(2.4rem,5vw,4.7rem) auto; }
.home-prose { margin:clamp(1.8rem,4vw,3.5rem) auto; font-size:1.02rem; }
.home-prose h2:first-child { margin-top:0; }
.block-top { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin-bottom:.7rem; }
.block-top h2,.block-top .eyebrow { margin-bottom:.2rem; }
.block-note { color:#40596b; margin:.15rem 0 .75rem; }
.carousel-controls { display:flex; align-items:center; gap:.4rem; padding:.15rem; }
.carousel-controls button { width:42px; height:42px; padding:0; font-size:1.22rem; }
.carousel-controls button:disabled { opacity:.38; cursor:default; }
.carousel-controls button:hover:not(:disabled),.menu-toggle:hover { background:#eef5f6; }
.carousel-track { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 3rem) / 4); gap:1rem; overflow-x:auto; overscroll-behavior-inline:contain; scroll-snap-type:x mandatory; padding:.2rem .05rem .7rem; scrollbar-color:#a5bbc4 #eaf1f3; }
.trip-card { scroll-snap-align:start; border:1px solid var(--line); border-radius:.8rem; background:#f8fbfb; overflow:hidden; min-width:0; }
.trip-card a { color:inherit; text-decoration:none; display:flex; height:100%; flex-direction:column; }
.trip-card a:focus-visible { outline-offset:-4px; }
.trip-card img { width:100%; aspect-ratio:16/10; object-fit:cover; }
.trip-body { padding:1rem; display:flex; flex:1; flex-direction:column; }
.trip-body h3 { font-size:1.17rem; margin:0 0 .4rem; }
.trip-body p { margin:.15rem 0 .9rem; color:#40596b; font-size:.9rem; }
.trip-body>a,.trip-body>span { margin-top:auto; font-size:.85rem; color:var(--blue); font-weight:750; }
.trip-card a:hover .trip-body>span { text-decoration:underline; }
.trip-body dl { margin:.3rem 0 .8rem; }
.trip-body dl div { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:.1rem .7rem; padding:.2rem 0; }
.trip-body dt { font-size:.8rem; }
.trip-body dd { margin:0; font-weight:750; }
.partners,.guides { display:grid; gap:1rem; }
.partners { grid-template-columns:repeat(4,minmax(0,1fr)); }
.guides { grid-template-columns:repeat(3,minmax(0,1fr)); }
.partners figure,.guides figure { margin:0; }
.partners figure { display:grid; place-items:center; padding:1rem; min-height:105px; border:1px solid var(--line); border-radius:.65rem; }
.partners img { max-height:65px; object-fit:contain; }
.guides article { border:1px solid var(--line); border-radius:.8rem; padding:.85rem; }
.guides img { width:100%; aspect-ratio:5/4; object-fit:cover; object-position:center 40%; border-radius:.55rem; margin-bottom:.75rem; }
.guides p { margin:.4rem 0; font-size:.9rem; }
.faq { max-width:850px; }
.faq details { background:#f6f9fa; border:1px solid var(--line); border-radius:.6rem; padding:.75rem 1rem; margin:.5rem 0; }
.faq summary { font-weight:700; }
.faq details p { margin:.5rem 0 .2rem; }
.contact-panel { background:#eaf4f5; padding:clamp(1.3rem,4vw,2.5rem); border-radius:.9rem; }
.contact-panel p,.contact-panel .actions { margin:.35rem 0 0; }
.contact-panel a { font-weight:750; }
.reading { display:grid; gap:.4rem; }
.reading h2 { font-size:1.45rem; margin:0; }
.site-footer { background:#122a40; color:#e7f2f5; padding:2.4rem 0 1.2rem; }
.site-footer a { color:inherit; }
.site-footer .accent { color:#a0e7ef; }
.footer-columns { display:grid; grid-template-columns:1.2fr 1fr 1fr 1.1fr; gap:1.35rem; }
.footer-columns nav,.footer-contacts { display:grid; align-content:start; gap:.34rem; font-size:.89rem; }
.footer-columns p { font-size:.86rem; color:#c0d3df; }
.footer-social { display:flex; flex-wrap:wrap; gap:.25rem .7rem; }
.footer-legal { border-top:1px solid #456174; margin-top:1.7rem; padding-top:1rem; font-size:.82rem; display:flex; gap:.25rem 1rem; flex-wrap:wrap; }
.footer-legal p { flex-basis:100%; margin:.3rem 0; color:#c0d3df; }
@media (max-width:1080px) {
  .masthead { gap:1rem; }
  .main-navigation { justify-content:flex-start; gap:.2rem 1rem; }
  .carousel-track { grid-auto-columns:calc((100% - 2rem) / 3); }
}
@media (max-width:820px) {
  .wrap { width:calc(100% - 40px); }
  .masthead { justify-content:space-between; min-height:62px; padding:.5rem 0; flex-wrap:wrap; }
  #site-navigation { flex-basis:100%; }
  .quick-links { justify-content:flex-start; padding:.4rem 0 .55rem; border-bottom:1px solid var(--line); }
  .main-navigation { padding:.65rem 0 .25rem; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
  .main-navigation > a,.nav-group summary { padding:.3rem 0; }
  .nav-options { position:static; min-width:0; width:auto; max-width:none; box-shadow:none; }
  .carousel-track { grid-auto-columns:calc((100% - 1rem) / 2); }
  .footer-columns { grid-template-columns:1fr 1fr; }
}
@media (max-width:560px) {
  .wrap { width:calc(100% - 32px); }
  .contact-inner { gap:.15rem .75rem; font-size:.77rem; }
  .contact-direct { gap:.1rem .75rem; }
  .hero-home .hero-body { min-height:390px; padding:2.1rem 0; }
  .hero-home h1 { font-size:clamp(2.25rem,9vw,3rem); }
  .hero-home .actions { gap:.7rem; }
  .carousel-track { grid-auto-columns:min(83%,350px); }
  .carousel-controls button { width:38px; height:38px; }
  .guides { grid-template-columns:1fr; }
  .partners { grid-template-columns:1fr 1fr; }
  .site-footer { padding-top:1.55rem; }
  .footer-columns { gap:1.1rem .65rem; }
  .footer-contacts { grid-column:1 / -1; }
}
@media (max-width:360px) {
  .main-navigation,.footer-columns { grid-template-columns:1fr; }
}
.admin-header { background:#fff; border-bottom:1px solid var(--line); }
.admin-header .wrap { min-height:64px; display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.admin-header form { margin:0; }
.admin-auth { max-width:480px; }
.admin-auth .fields { grid-template-columns:1fr; }
.admin-tools { display:flex; align-items:center; flex-wrap:wrap; gap:.55rem; }
.admin-tools label { flex-direction:row; align-items:center; }
.upload-panel { padding:.85rem; border:1px solid var(--line); border-radius:.5rem; margin:1.2rem 0; }
.upload-panel label { display:block; }
.upload-panel output { display:block; }
.upload-panel img { max-height:120px; object-fit:contain; margin-top:.45rem; }
.prose .photo-gallery { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); gap:.75rem; }
.prose .photo-gallery figure { margin:0; }
.prose .photo-gallery img { width:100%; height:auto; }

.article-cover { margin:0 0 1.35rem; }
.article-cover img { width:100%; max-height:480px; object-fit:cover; }
input[type=file] { max-width:100%; }
.admin input:not([type=checkbox]),.admin select { min-width:0; }
.admin-tools label { max-width:100%; min-width:0; }
@media (max-width:560px) {
  .admin-tools label { flex-basis:100%; flex-direction:column; align-items:flex-start; }
  .admin-tools input[type=file], .upload-panel input[type=file] { width:min(100%,260px); min-width:0; }
}

/* Blocks whose labels and panels were recovered from Elementor. */
[id^="wp-restored-faq-"] details,[id^="wp-restored-tabs-"] details {
  margin:.55rem 0;
  padding:.6rem .9rem;
  background:#f6f9fa;
  border:1px solid var(--line);
  border-radius:.55rem;
}
[id^="wp-restored-faq-"] summary,[id^="wp-restored-tabs-"] summary {
  cursor:pointer;
  font-weight:700;
}
[id^="wp-restored-tabs-"] > p { color:#40596b; font-size:.9rem; }
[id^="wp-gallery-"] { margin:1rem 0; }
[id^="wp-gallery-"] > .carousel-controls { justify-content:flex-end; }
[id^="wp-gallery-"] .carousel-track { grid-auto-columns:calc((100% - 1rem) / 2); }
[id^="wp-gallery-"] .carousel-track > div { min-width:0; scroll-snap-align:start; }
[id^="wp-gallery-"] .carousel-track figure { margin:.3rem 0; }
[id^="wp-gallery-"] .carousel-track img { width:100%; }
@media (max-width:560px) {
  [id^="wp-gallery-"] .carousel-track { grid-auto-columns:84%; }
}

/* Restored calls to action and resort links. */
.action-link {
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  max-width:100%;
  min-height:44px;
  padding:.56rem .95rem;
  border:1px solid #a9c4ce;
  border-radius:.6rem;
  background:#e9f5f6;
  color:#164957;
  font-weight:700;
  text-decoration:none;
  white-space:normal;
}
.action-link::after { content:'↗'; opacity:.68; flex:none; }
.action-link[href^="#"]::after { content:'↓'; }
.action-link:hover { color:#fff; background:#154a60; border-color:#154a60; }
.contact-actions { display:flex; flex-wrap:wrap; gap:.55rem; margin:.85rem 0; }
.contact-panel .actions a {
  padding:.5rem .8rem;
  border:1px solid #abcbd1;
  border-radius:.55rem;
  background:#fff;
  text-decoration:none;
}
.contact-panel .actions a:hover { background:#d4eff0; }
.partners figure:has(.partner-link) { display:block; padding:0; overflow:hidden; }
.partner-link {
  min-height:124px;
  height:100%;
  padding:1rem .6rem;
  display:grid;
  justify-items:center;
  align-content:center;
  gap:.55rem;
  text-align:center;
  font-size:.87rem;
  font-weight:700;
  text-decoration:none;
}
.partner-link:hover { background:#eaf5f6; text-decoration:underline; }
.partner-link img { max-width:100%; }
.yandex-panel {
  width:min(690px,100%);
  margin:1.25rem auto;
  padding:.4rem 0 0;
}
.yandex-panel iframe {
  display:block;
  width:100%;
  height:550px;
  border:1px solid var(--line);
  border-radius:.7rem;
  background:#fff;
}
#pohod-map iframe { height:370px; }
.yandex-panel p { margin:.75rem 0 0; text-align:center; }
#pfz-form-anchor {
  background:#eef6f6;
  padding:.75rem 1rem;
  border-radius:.65rem;
}
@media(max-width:560px) {
  .action-link { padding:.55rem .7rem; }
  .partner-link { min-height:109px; }
  .yandex-panel iframe { height:525px; }
  #pohod-map iframe { height:300px; }
}

/* Consistent public inner pages. */
.public-shell .content-hero { background:linear-gradient(120deg,#e9f5f6,#f6f8fb 70%); border-bottom:1px solid #e4ecef; }
.content-hero .hero-body { padding:1.4rem 0 2.75rem; }
.content-hero h1 { font-size:clamp(2rem,4.6vw,3.55rem); margin-bottom:.1rem; }
.content-hero h1::after { margin-top:.8rem; height:4px; width:60px; }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:.24rem .55rem; margin:0 0 1rem; color:#4a6471; font-size:.82rem; }
.breadcrumbs a { color:#245f75; }
.breadcrumbs [aria-current] { overflow-wrap:anywhere; }
.site-error { max-width:850px; margin:clamp(2rem,7vw,5rem) auto; }
.site-error h1 { font-size:clamp(2rem,5vw,3.55rem); }
.site-search { display:grid; gap:.35rem; max-width:560px; margin:1rem 0; }
.site-search div { display:flex; gap:.5rem; }
.site-search input { flex:1; min-width:0; padding:.65rem; font:inherit; color:var(--ink); border:1px solid #a7bbc4; border-radius:.55rem; }
.site-search button { flex:none; }
.preview-banner { color:#173e50; background:#e2f3f6; padding:.65rem 0; font-size:.9rem; }
.preview-banner .wrap { display:flex; justify-content:space-between; gap:.6rem; flex-wrap:wrap; }

.admin-shell { background:#f1f5f7; min-height:100vh; }
.admin-header { background:#fff; }
.admin-header .wrap { min-height:63px; }
.admin-header nav { display:flex; gap:.4rem 1rem; flex-wrap:wrap; align-items:center; margin-left:auto; }
.admin-header nav a { color:#21485b; text-decoration:none; font-size:.88rem; font-weight:700; }
.admin-header nav a:hover { text-decoration:underline; }
.admin-shell .brand { color:#213b4f; }
.admin-shell h1::after { display:none; }
.admin-workspace { padding:1.8rem 0 3rem; }
.admin-workspace h1 { margin:.1rem 0 .3rem; font-size:clamp(1.8rem,4vw,3rem); }
.admin-workspace h2 { font-size:1.2rem; margin:0 0 .65rem; }
.admin-pagehead { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.8rem 1.2rem; margin-bottom:1.2rem; }
.admin-pagehead .eyebrow,.admin-pagehead p,.admin-pagehead .actions { margin:0; }
.admin-pagehead p { color:#536c79; }
.admin-pagehead .eyebrow { margin-bottom:.25rem; }
.admin-back { display:inline-block; margin-bottom:.7rem; }
.admin-shell .primary { background:#125266; color:white; border-color:#125266; }
.admin-shell .primary:hover { background:#1a647b; }
.admin-shell .quiet { color:#21485b; border-color:#aac0c8; }
.admin-shell .quiet:hover { background:#eef6f8; }
.admin-shell .primary,.admin-shell .quiet { border-radius:.55rem; padding:.55rem .8rem; white-space:normal; }
.admin-panel { background:white; border:1px solid #d9e5ea; border-radius:.85rem; padding:1rem; min-width:0; }
.admin-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.75rem; margin:0 0 1rem; }
.admin-metrics a { display:grid; align-content:center; min-height:92px; color:#183d52; background:#fff; border:1px solid #d9e5ea; border-radius:.75rem; text-decoration:none; padding:.65rem 1rem; }
.admin-metrics a:hover { background:#e7f2f5; }
.admin-metrics b { font-size:1.65rem; }
.admin-metrics span { font-size:.87rem; }
.admin-filter { display:flex; align-items:flex-end; flex-wrap:wrap; gap:.6rem; }
.admin-filter label,.admin-field { display:grid; gap:.25rem; color:#274759; font-weight:700; font-size:.89rem; min-width:0; }
.admin-filter label:first-child { flex:1 1 235px; }
.admin-filter label:not(:first-child) { flex:1 1 150px; }
.admin-field { margin-bottom:.75rem; }
.admin-filter :is(input,select),.admin-field :is(input,select,textarea) { display:block; width:100%; min-width:0; padding:.55rem .6rem; border:1px solid #a8bec9; border-radius:.48rem; background:white; color:var(--ink); font:inherit; font-weight:400; }
.admin-field textarea { resize:vertical; }
.admin-result,.admin-hint { color:#536c79; font-size:.84rem; }
.admin-result { margin:.75rem 0 0; }
.admin-records,.admin-addresses ul { list-style:none; margin:0; padding:0; }
.admin-row { display:grid; grid-template-columns:minmax(0,3fr) minmax(0,1.4fr) max-content minmax(105px,auto); gap:.6rem 1rem; align-items:center; border-top:1px solid #e4edf0; padding:.65rem .15rem; font-size:.88rem; }
.admin-row:first-child { border-top:0; }
.admin-row:hover { background:#f4f9fa; }
.admin-material { display:flex; gap:.75rem; align-items:center; min-width:0; text-decoration:none; }
.admin-material img,.admin-thumb { flex:none; width:58px; height:42px; object-fit:cover; border-radius:.4rem; background:#e8f1f4; }
.admin-material small,.admin-group small { display:block; color:#536c79; overflow-wrap:anywhere; }
.admin-material strong { font-size:.96rem; }
.admin-open { justify-self:end; white-space:nowrap; }
.admin-status { padding:.22rem .5rem; border-radius:2rem; white-space:nowrap; font-size:.78rem; font-weight:700; width:max-content; }
.admin-status.published { background:#e1f2ea; color:#14634a; }
.admin-status.draft { background:#edf0f4; color:#4a5d71; }
.admin-empty { padding:1rem 0; }
.admin-edit-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(235px,290px); align-items:start; gap:1rem; }
.admin-side { display:grid; gap:1rem; }
.admin-content .editor { min-height:390px; background:white; }
.admin-content .editor:empty::before { content:'Добавьте текст или выберите блок выше'; color:#627680; }
.admin-content .admin-tools button { border:1px solid #c2d3db; background:#f6fafb; color:#274759; border-radius:.45rem; padding:.3rem .55rem; }
.admin-content .admin-tools button:hover { background:#e6f3f5; }
.admin-tools input[type=file] { max-width:min(100%,230px); color:#456475; }
.admin-tools input[type=file]::file-selector-button { border:1px solid #b1c7d0; border-radius:.4rem; color:#21485b; background:#f0f7f8; padding:.32rem .5rem; }
.editor-file { display:flex; gap:.35rem; align-items:center; flex-wrap:wrap; font-size:.83rem; }
.photo-alt-panel:not([hidden]) { display:grid; grid-template-columns:64px minmax(0,1fr); gap:.65rem; align-items:start; margin:.65rem 0; padding:.65rem; border:1px solid var(--line); border-radius:.55rem; }
.photo-alt-panel img { width:64px; height:48px; object-fit:cover; border-radius:.35rem; }
.photo-alt-panel label { display:grid; gap:.2rem; margin-bottom:.45rem; }
.photo-alt-panel small { display:block; }
.admin-side .upload-panel { margin:0; }
.admin-side .upload-panel img { width:100%; max-height:150px; margin:0 0 .6rem; object-fit:cover; border-radius:.5rem; }
.admin-side .admin-tools label { display:grid; gap:.25rem; }
.seo-panel summary { cursor:pointer; font-weight:700; }
.seo-panel[open] summary { margin-bottom:.7rem; }
.admin-save { position:sticky; bottom:0; display:flex; align-items:center; justify-content:flex-end; gap:.6rem; flex-wrap:wrap; margin-top:1rem; background:#f6fafb; border:1px solid #cfdee3; border-radius:.65rem; padding:.6rem; z-index:2; }
.admin-save output { margin-right:auto; color:#3c5d6e; font-size:.85rem; }
.admin-success { background:#e3f2eb; color:#16593d; padding:.65rem .9rem; border-radius:.5rem; }
.admin-addresses { margin:1rem 0; }
.admin-addresses li { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1.1fr); gap:.6rem 1rem; align-items:center; padding:.5rem 0; border-bottom:1px solid #e7eef1; overflow-wrap:anywhere; }
@media(max-width:790px) {
  .admin-edit-grid { grid-template-columns:1fr; }
  .admin-side { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .admin-row { grid-template-columns:minmax(0,2fr) max-content minmax(75px,auto); gap:.5rem; }
  .admin-group { display:none; }
}
@media(max-width:560px) {
  .admin-header .wrap { gap:.6rem; padding-block:.45rem; }
  .admin-header nav { margin-left:0; gap:.3rem .7rem; order:3; flex-basis:100%; }
  .admin-metrics,.admin-side { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .admin-side { grid-template-columns:1fr; }
  .admin-row { grid-template-columns:minmax(0,1fr) auto; }
  .admin-row .admin-open { grid-column:1 / -1; justify-self:start; margin-left:4.15rem; }
  .admin-addresses li { grid-template-columns:minmax(0,1fr) auto; }
  .admin-addresses li > :last-child { grid-column:1 / -1; }
  .admin-content .editor { min-height:270px; }
  .content-hero .hero-body { padding-bottom:1.8rem; }
}


/* Public reading layout, photo controls and recovered season prices */
.public-shell .prose { max-width:1000px; padding:clamp(1rem,3.6vw,3rem); border-radius:1.35rem; }
.public-shell .content-hero .hero-body { padding-block:clamp(1.6rem,4vw,3.4rem); }
.public-shell .content-hero h1 { text-wrap:balance; overflow-wrap:anywhere; }
.public-shell .prose :is(h2,h3,h4,h5,h6) { scroll-margin-top:4.3rem; }
.public-shell .prose h2 { margin-top:2.25rem; }
.public-shell .prose a { overflow-wrap:anywhere; }
.public-shell :is(.trip-card,.action-link,.primary,.carousel-controls button) { transition:background-color .2s, box-shadow .2s, transform .2s; }
@media (hover:hover) {
  .public-shell .trip-card:hover { transform:translateY(-3px); box-shadow:0 .7rem 1.8rem #193e5629; }
  .public-shell .action-link:hover { transform:translateY(-2px); }
}
.carousel-track { scrollbar-width:none; }
.carousel-track::-webkit-scrollbar { display:none; }
.carousel-count { white-space:nowrap; color:#4d677a; font-weight:650; font-size:.82rem; font-variant-numeric:tabular-nums; margin-inline-end:.2rem; }
.carousel-controls button { border-radius:50%; }
.season-prices { border:1px solid #d4e2e8; padding:clamp(.8rem,3vw,1.7rem); background:#f4f8fa; border-radius:1rem; margin-block:1rem 2rem; }
.season-switch { display:flex; width:max-content; max-width:100%; flex-wrap:wrap; gap:.32rem; padding:.28rem; background:#e6edf1; border-radius:.8rem; }
.season-tab { min-height:44px; padding:.45rem .9rem; border:0; border-radius:.62rem; background:transparent; font:inherit; font-size:.91rem; font-weight:700; color:#355268; cursor:pointer; }
.season-tab[aria-selected="true"] { background:#173d57; color:#fff; box-shadow:0 2px 5px #11293824; }
.season-panel .season-dates { margin:.8rem 0; color:#40596b; font-size:.9rem; }
.rate-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,235px),1fr)); gap:.65rem; }
.rate-card { border:1px solid #dbe6ec; border-radius:.76rem; background:white; padding:.8rem .95rem; }
.public-shell .prose .rate-card h3 { margin:0; font-size:1rem; line-height:1.35; }
.public-shell .prose .rate-card p { margin:.36rem 0 0; color:#1b594e; font-size:1.25rem; font-weight:760; }
[id^="wp-restored-faq-"] details { padding:0 .95rem; border-radius:.78rem; background:#fff; }
[id^="wp-restored-faq-"] details[open] { background:#f3f8fa; }
[id^="wp-restored-faq-"] summary { display:flex; justify-content:space-between; align-items:center; gap:.65rem; min-height:44px; padding:.6rem 0; line-height:1.4; list-style:none; }
[id^="wp-restored-faq-"] summary::-webkit-details-marker { display:none; }
[id^="wp-restored-faq-"] summary::after { content:'+'; flex:none; width:1.75rem; height:1.75rem; line-height:1.75rem; text-align:center; border-radius:50%; background:#e9f2f4; color:#235467; }
[id^="wp-restored-faq-"] details[open] > summary::after { content:'−'; }

.mobile-contact,.mobile-menu { display:none; }
@media (max-width:820px), (pointer:coarse) and (max-width:960px) {
  .mobile-ready { scroll-padding-top:4.25rem; }
  .mobile-ready.mobile-menu-open { overflow:hidden; }
  .mobile-ready .public-shell .masthead { justify-content:center; min-height:54px; }
  .mobile-ready .public-shell :is(.contact-band,#site-navigation) { display:none; }
  .mobile-contact { position:sticky; top:max(.32rem,env(safe-area-inset-top)); z-index:12; margin:.45rem auto; max-width:520px; width:calc(100% - 24px - env(safe-area-inset-left) - env(safe-area-inset-right)); }
  .mobile-ready .mobile-contact { display:flex; align-items:center; justify-content:space-between; gap:.26rem; padding:.24rem .34rem; border-radius:999px; background:linear-gradient(110deg,#5243af,#7753c3); color:#fff; box-shadow:0 .24rem .8rem #32267336; }
  .mobile-contact a { color:#fff; text-decoration:none; }
  .mobile-contact > a { display:grid; place-items:center; min-height:44px; font-size:clamp(.78rem,3.45vw,1rem); font-weight:730; font-variant-numeric:tabular-nums; white-space:nowrap; }
  .mobile-social,.mobile-menu-toggle { display:grid; place-items:center; width:44px; height:44px; padding:0; border:0; border-radius:50%; background:#ffffff2e; color:#fff; }
  .mobile-social svg { display:block; width:30px; height:30px; padding:6px; border-radius:50%; background:#146e4c; fill:currentColor; }
  .mobile-social.telegram svg { background:#0073a1; }
  .mobile-social.max svg { background:linear-gradient(140deg,#0465ce,#6527b6); }
  .mobile-menu-toggle { cursor:pointer; }
  .mobile-menu-toggle span { width:18px; height:2px; border-radius:2px; background:currentColor; box-shadow:0 -6px currentColor,0 6px currentColor; }
  .mobile-menu[open] { position:fixed; inset:0; display:block; margin:0; width:100%; height:100vh; height:100dvh; max-width:none; max-height:none; border:0; background:linear-gradient(160deg,#f0f2ff,#fff 65%); color:var(--ink); padding:max(.8rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1.2rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left)); overflow:auto; overscroll-behavior:contain; animation:drawer-in .23s ease-out; }
  .mobile-menu::backdrop { background:#13253c55; }
  .mobile-menu-top { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.55rem; }
  .mobile-menu-top button {
    display:grid; place-items:center; width:44px; height:44px; padding:0;
    border:1px solid #d5e3eb; border-radius:.68rem; background:#fff; color:#214d68;
    font:inherit; font-size:1.35rem; cursor:pointer;
  }
  .mobile-menu-entry { border-bottom:1px solid #dce7ee; }
  .mobile-menu-row {
    display:grid; grid-template-columns:minmax(0,1fr) 1.9rem; align-items:center; gap:.64rem;
    width:100%; min-height:51px; padding:.4rem .52rem .4rem .72rem; border:0;
    border-radius:.66rem; background:transparent; color:inherit; font:inherit;
    font-size:.98rem; font-weight:640; line-height:1.3; text-align:start; text-decoration:none;
  }
  .mobile-group-toggle { cursor:pointer; }
  .mobile-menu-row:is(:hover,:focus-visible),.mobile-group-toggle[aria-expanded="true"] {
    background:#e7f1f8; color:#173e59;
  }
  .mobile-menu-row:focus-visible,.mobile-subnav a:focus-visible { outline-offset:-2px; }
  .mobile-row-label { min-width:0; }
  .mobile-row-arrow {
    display:grid; place-items:center; width:1.9rem; height:1.9rem; border:1px solid #d6e4ee;
    border-radius:.54rem; color:#275773; background:#fbfdff;
  }
  .mobile-row-arrow::before {
    content:""; width:.38rem; height:.38rem; border-right:1.7px solid; border-bottom:1.7px solid;
    transform:rotate(-45deg) translate(-1px,-1px);
  }
  .mobile-group-toggle .mobile-row-arrow::before { transform:rotate(45deg) translate(-1px,-1px); }
  .mobile-group-toggle[aria-expanded="true"] .mobile-row-arrow::before { transform:rotate(225deg) translate(-1px,-1px); }
  .mobile-subnav { margin:.2rem .36rem .55rem .72rem; padding-inline-start:.5rem; border-inline-start:2px solid #c5d8e6; }
  .mobile-subnav a {
    display:flex; align-items:center; min-height:44px; padding:.35rem .52rem; border-radius:.5rem;
    color:#234a64; text-decoration:none; font-size:.9rem; line-height:1.33;
  }
  .mobile-subnav a:is(:hover,:focus-visible) { background:#e7f1f8; }
  .mobile-menu-footer { margin-top:1.02rem; }
  .mobile-menu-utility { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem; }
  .mobile-menu-utility a {
    display:grid; min-height:44px; place-items:center; padding:.4rem; border-radius:.65rem;
    background:#e7f1f8; color:#1b4462; font-size:.87rem; font-weight:700; text-align:center; text-decoration:none;
  }
  .mobile-menu-channels {
    display:grid; justify-items:center; gap:.55rem; margin-top:1rem; padding:.78rem .55rem .9rem;
    border:1px solid #dce7ee; border-radius:.82rem; background:#eef5f9;
  }
  .mobile-menu-channels p { margin:0; color:#31566e; font-size:.8rem; font-weight:690; }
  .mobile-social-links { display:flex; justify-content:center; align-items:center; gap:.65rem; }
  .mobile-menu-channels .contact-icon { width:46px; height:46px; }
}
@media (max-width:560px) {
  .public-shell .wrap { width:calc(100% - 28px); }
  .public-shell .prose { padding:1rem; }
  .carousel-track,[id^="wp-gallery-"] .carousel-track { grid-auto-columns:87%; }
  .carousel-controls { gap:.22rem; }
  .carousel-controls button { width:44px; height:44px; }
  .carousel-count { font-size:.72rem; margin-inline-end:0; }
}
@keyframes drawer-in { from { transform:translateX(-1rem); opacity:.7; } to { transform:translateX(0); opacity:1; } }
@media (prefers-reduced-motion:reduce) {
  .mobile-menu[open] { animation:none; }
  .public-shell :is(.trip-card,.action-link,.primary,.carousel-controls button) { transition:none; }
}
/* Trail, snow and editorial accents for the public site. */
.public-shell {
  --pine:#193f37;
  --pine-dark:#12332d;
  --mist:#e7f0ea;
  --sun:#f5c568;
  --sun-ink:#31250f;
  --ice:#e6f1fa;
  --ink:#18332f;
  --blue:#255e53;
}
.public-shell :is(.contact-band,.site-footer) { background:var(--pine-dark); }
.public-shell .site-footer { color:#f0f6ee; }
.public-shell .site-footer .accent { color:#ffcf7b; }
.public-shell .primary { color:white; background:var(--pine); border-radius:999px; }
.public-shell .primary:hover { background:#255b4f; }
.public-shell .hero-home { background:var(--pine-dark); }
.public-shell .hero-home.has-photo::after { background:linear-gradient(90deg,#0d231eea 0%,#102923ac 46%,#10292312 95%); }
.public-shell .hero-home .eyebrow { color:#f6d795; }
.public-shell .hero-home .primary { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; padding:.7rem 1.1rem; border-radius:999px; background:var(--sun); color:var(--sun-ink); }
.public-shell .hero-home .primary:hover { background:#ffda91; }
.compass-icon { width:24px; height:24px; flex:none; }
.public-shell .hero-home .hero-link { display:inline-flex; min-height:44px; align-items:center; gap:.35rem; text-underline-offset:.2em; }
.public-shell .hero-home .actions { gap:.6rem 1.2rem; }
.public-shell .contact-panel { background:var(--mist); border:1px solid #d3e4d8; }
.contact-panel .actions a { display:inline-flex; min-height:44px; align-items:center; background:#fff; padding:.4rem .85rem; border-radius:999px; text-decoration:none; }
.contact-panel .actions a[href^="tel:"] { background:var(--sun); color:var(--sun-ink); }
.public-shell .trip-card { background:#fff; border-color:#d6e3da; border-radius:1rem; }
.public-shell .carousel-controls button { border-color:#c6dacf; color:var(--pine); }
.public-shell .carousel-controls button:hover:not(:disabled) { background:var(--mist); }
.public-shell .content-hero {
  --cover-tint:#e9f2ec;
  --cover-decoration:#cddfd1;
  background:radial-gradient(ellipse at 92% 0%,var(--cover-decoration),transparent 66%),var(--cover-tint);
}
.public-shell .content-hero--snow { --cover-tint:#eff6fc; --cover-decoration:#d1e5f4; }
.public-shell .content-hero--journal { --cover-tint:#f7f0e4; --cover-decoration:#eedbc1; }
.content-hero--snow .eyebrow { color:#234f75; }
.content-hero--journal .eyebrow { color:#785126; }
.content-hero-text { min-width:0; }
.content-hero-text h1 { margin-bottom:0; }
.content-hero.has-cover .hero-body {
  display:grid; align-items:center; gap:clamp(1rem,4vw,3rem);
  grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);
}
.content-cover { display:block; width:100%; height:clamp(180px,21vw,290px); object-fit:cover; object-position:center 40%; border-radius:1.15rem; box-shadow:0 .7rem 1.7rem #253c4324; }
.photo-shortcuts { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:.95rem; margin-top:1.15rem; }
.photo-shortcut { min-width:0; position:relative; display:flex; flex-direction:column; justify-content:flex-end; min-height:clamp(180px,22vw,260px); overflow:hidden; border-radius:1rem; isolation:isolate; text-decoration:none; color:#fff; background:#21453c; }
.photo-shortcut--snow { background:#21476b; }
.photo-shortcut--lift { background:#4a3b2a; }
.photo-shortcut:focus-visible { outline-offset:3px; }
.shortcut-image,.shortcut-image::after { position:absolute; inset:0; z-index:-1; }
.shortcut-image::after { content:''; z-index:1; background:linear-gradient(0deg,#0b1d1af5,#0b1d1a50 66%,transparent); }
.shortcut-image img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 40%; transition:transform .36s ease-out; }
.shortcut-label { padding:1rem 3.7rem 1rem 1rem; }
.shortcut-label p { margin:0 0 .25rem; color:#ffdb97; font-size:.84rem; font-weight:700; }
.photo-shortcut--snow .shortcut-label p { color:#c2e6ff; }
.shortcut-label h3 { margin:0; color:inherit; font-size:clamp(1.05rem,1.7vw,1.36rem); }
.shortcut-label span { position:absolute; right:.8rem; bottom:.8rem; display:grid; place-items:center; width:40px; height:40px; border-radius:50%; background:#f5c568; color:var(--sun-ink); font-size:1.2rem; transition:transform .24s ease; }
.photo-shortcut--snow .shortcut-label span { background:#d3e9fa; color:#1b4268; }
.photo-shortcut--lift .shortcut-label span { background:#f4e0c3; color:#543e26; }
@media (hover:hover) {
  .photo-shortcut:hover .shortcut-image img { transform:scale(1.055); }
  .photo-shortcut:hover .shortcut-label span { transform:rotate(13deg); }
}
.public-shell .season-tab[aria-selected="true"] { background:#214d70; }
.public-shell .season-prices { background:#edf5fb; }
.public-shell .season-tab:active { transform:scale(.98); }
.public-shell .action-link { border-color:#c5dcd2; background:#e6f3ed; color:#1f5144; }
.public-shell .action-link.partner-link { border-color:#c3daeb; background:#e5f2fc; color:#244e71; }

.photo-trigger { position:relative; display:block; width:100%; min-height:44px; padding:0; border:0; border-radius:.7rem; background:transparent; color:inherit; cursor:zoom-in; vertical-align:top; }
.public-shell .prose .photo-trigger img { display:block; width:100%; height:auto; border-radius:.7rem; }
.public-shell .prose .photo-trigger img:not([width][height]) { aspect-ratio:auto 4/3; }
.photo-trigger span { position:absolute; right:.55rem; bottom:.55rem; display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:#102b25eb; color:#fff; font:700 1.2rem system-ui; pointer-events:none; }
html.photo-open { overflow:hidden; }
.photo-dialog { box-sizing:border-box; width:min(1120px,calc(100% - 1rem)); max-width:none; height:min(94dvh,950px); max-height:calc(100% - 1rem); border:0; border-radius:1rem; padding:.55rem; background:#102521; color:white; overscroll-behavior:contain; }
.photo-dialog[open] { display:grid; grid-template-rows:auto minmax(0,1fr) auto; }
.photo-dialog::backdrop { background:#071613dd; }
.photo-dialog figure { display:grid; grid-template-rows:minmax(0,1fr) auto; min-height:0; margin:0; }
.photo-dialog img { display:block; width:100%; height:100%; min-height:0; object-fit:contain; }
.photo-dialog-top,.photo-dialog-bottom { display:flex; align-items:center; gap:.4rem; padding:.2rem .25rem; }
.photo-dialog-top { justify-content:space-between; }
.photo-dialog-bottom { justify-content:center; flex-wrap:wrap; }
.photo-dialog-title { margin:0; font-size:1rem; font-weight:700; color:#fff; }
.photo-dialog figcaption { max-height:min(16dvh,5rem); overflow:auto; text-align:center; padding:.35rem 0; font-size:.88rem; }
.photo-dialog button { width:44px; height:44px; padding:0; border-radius:50%; border:1px solid #54716a; background:#25463e; color:white; cursor:pointer; font:700 1.2rem system-ui; }
.photo-dialog button:disabled { opacity:.45; cursor:default; }
.photo-dialog output { display:inline-block; min-width:4.8rem; font-size:.86rem; text-align:center; font-variant-numeric:tabular-nums; }

@media(max-width:820px) {
  .photo-shortcuts { grid-template-columns:repeat(3,minmax(0,1fr)); gap:.65rem; }
  .content-hero.has-cover .hero-body { grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:1rem; }
}
@media(max-width:560px) {
  .public-shell .hero-home.has-photo::after { background:linear-gradient(90deg,#0d231ee8,#1029238a); }
  .content-hero.has-cover .hero-body { grid-template-columns:minmax(0,1fr); gap:.85rem; }
  .public-shell .content-hero .content-cover { height:clamp(112px,32vw,175px); border-radius:.9rem; }
  .photo-shortcuts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .photo-shortcut:first-child { grid-column:1 / -1; min-height:176px; }
  .photo-shortcut { min-height:150px; }
  .shortcut-label { padding:.7rem .75rem 2.75rem; }
  .shortcut-label span { right:.55rem; bottom:.55rem; width:32px; height:32px; }
}
@media(prefers-reduced-motion:reduce) {
  .shortcut-image img,.shortcut-label span { transition:none; }
  .photo-shortcut:hover :is(.shortcut-image img,.shortcut-label span), .public-shell .season-tab:active { transform:none; }
}
.public-shell .hero-home h1 { font-size:clamp(2.25rem,5vw,4.4rem); max-width:900px; }
.public-shell .content-hero h1 { font-size:clamp(2.05rem,4.2vw,3.45rem); }
.public-shell .content-hero + .wrap > .prose { margin-top:clamp(1rem,3vw,2.65rem); }
/* Recovered footer and booking form. */
.public-shell {
  --site-font:system-ui,-apple-system,"Segoe UI",sans-serif;
  font-family:var(--site-font);
}
.public-shell :is(h1,h2,h3,h4,h5,h6,button,input,textarea,select,summary,code,pre) { font-family:var(--site-font); }
.public-shell .site-footer { padding-top:0; }
.public-shell .site-footer > .wrap { padding-top:2rem; }
.public-shell .footer-columns { grid-template-columns:minmax(0,3fr) minmax(190px,1fr); }
.footer-routes { grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:.95rem; }
.footer-routes a,.footer-contacts a,.footer-legal a { text-underline-offset:.23em; overflow-wrap:anywhere; }
.footer-contacts .brand { display:inline-flex; width:fit-content; margin-bottom:.35rem; }
.public-shell .footer-legal { display:grid; justify-items:center; gap:.65rem; text-align:center; padding-bottom:.3rem; }
.footer-legal nav { display:flex; justify-content:center; flex-wrap:wrap; gap:.45rem 1.1rem; }
.booking-section { background:#e8f1eb; color:#16332b; border-top:1px solid #d2e2d7; padding:clamp(1.6rem,5vw,3.3rem) 0; }
.booking-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.7fr); gap:clamp(1rem,4vw,3.5rem); }
.booking-intro h2 { margin:.25rem 0 .65rem; }
.booking-contacts { display:flex; flex-wrap:wrap; gap:.4rem; }
.booking-contacts a { display:inline-flex; align-items:center; min-height:44px; border-radius:999px; background:#fff; padding:.35rem .8rem; color:var(--pine); font-weight:650; text-decoration:none; }
.booking-contacts a:first-child { background:var(--sun); color:var(--sun-ink); }
.booking-form { display:grid; gap:.75rem; min-width:0; padding:clamp(.85rem,3vw,1.6rem); border-radius:1rem; background:white; border:1px solid #d4e2da; }
.booking-form label { min-width:0; font-weight:620; color:inherit; }
.booking-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.6rem; }
.booking-form :is(input:not([type=checkbox]),textarea,select) { display:block; width:100%; min-width:0; margin:.25rem 0 0; padding:.55rem .65rem; min-height:44px; border:1px solid #bbcfc4; border-radius:.55rem; background:white; color:inherit; font-size:1rem; }
.booking-form textarea { resize:vertical; }
.booking-form .booking-optional { color:#4b655b; font-size:.82rem; font-weight:400; }
.booking-details { background:#f2f7f4; border:1px solid #dde9e1; border-radius:.55rem; padding:.5rem .75rem; }
.booking-details summary { cursor:pointer; min-height:32px; line-height:32px; font-weight:650; }
.booking-details .booking-fields { padding:.35rem 0 .5rem; }
.booking-agreement { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:start; gap:.65rem; font-size:.9rem; }
.booking-agreement input { width:21px; height:21px; margin:.1rem 0 0; accent-color:var(--pine); }
.booking-agreement label { cursor:pointer; }
.booking-docs { display:flex; flex-wrap:wrap; gap:.35rem .8rem; margin-top:.25rem; font-size:.86rem; }
.booking-status { margin:0; padding:.6rem .75rem; background:#f8efd8; border-radius:.55rem; color:#533f1b; font-size:.91rem; }
.booking-form button[type=submit] { justify-self:start; min-height:44px; display:inline-flex; align-items:center; gap:.5rem; }
.booking-form button:disabled { opacity:.67; cursor:default; }
.booking-spinner { display:none; width:1rem; height:1rem; border:2px solid #fff7; border-top-color:white; border-radius:50%; }
.booking-form[aria-busy="true"] .booking-spinner { display:block; animation:booking-turn .6s linear infinite; }
@keyframes booking-turn { to { transform:rotate(360deg); } }
.widget-intro { display:flex; align-items:center; flex-wrap:wrap; gap:.5rem .8rem; }
.widget-intro button { cursor:pointer; font:inherit; }
@media(max-width:820px) {
  .public-shell .footer-columns { grid-template-columns:1fr; }
  .footer-routes { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .booking-layout { grid-template-columns:1fr; }
}
@media(max-width:480px) {
  .booking-fields { grid-template-columns:1fr; }
  .footer-legal nav { flex-direction:column; }
}
@media(prefers-reduced-motion:reduce) {
  .booking-form[aria-busy="true"] .booking-spinner { display:none; }
}
.activity-prices,.official-tickets { margin-block:1rem 2.2rem; }
.public-shell .prose .activity-rate p { color:#36544b; font-size:.95rem; font-weight:450; }
.public-shell .prose .activity-rate .activity-amount { font-size:1.3rem; font-weight:760; color:#1b594e; }
.public-shell .prose .activity-note { padding:.45rem .65rem; color:#624913; background:#f7efd8; border-radius:.5rem; font-size:.88rem; }
.official-tickets { padding:clamp(.85rem,3vw,1.4rem); border-radius:.85rem; background:#eef5fa; }
.public-shell .prose .official-tickets h2 { margin:.1rem 0 .55rem; }
