@font-face{font-family:'FuturaPT';font-weight:300;font-style:normal;font-display:swap;src:url('/font/FuturaPT-Light.woff2') format('woff2'),url('/font/FuturaPT-Light.woff') format('woff')}
@font-face{font-family:'FuturaPT';font-weight:400;font-style:normal;font-display:swap;src:url('/font/FuturaPT-Book.woff2') format('woff2'),url('/font/FuturaPT-Book.woff') format('woff')}
@font-face{font-family:'FuturaPT';font-weight:500;font-style:normal;font-display:swap;src:url('/font/FuturaPT-Medium.woff2') format('woff2'),url('/font/FuturaPT-Medium.woff') format('woff')}
@font-face{font-family:'FuturaPT';font-weight:600;font-style:normal;font-display:swap;src:url('/font/FuturaPT-Demi.woff2') format('woff2'),url('/font/FuturaPT-Demi.woff') format('woff')}
@font-face{font-family:'FuturaPT';font-weight:700;font-style:normal;font-display:swap;src:url('/font/FuturaPT-Bold.woff2') format('woff2'),url('/font/FuturaPT-Bold.woff') format('woff')}
@font-face{font-family:'FuturaPT';font-weight:800;font-style:normal;font-display:swap;src:url('/font/FuturaPT-ExtraBold.woff2') format('woff2'),url('/font/FuturaPT-ExtraBold.woff') format('woff')}
@font-face{font-family:'FuturaPT';font-weight:900;font-style:normal;font-display:swap;src:url('/font/FuturaPT-Heavy.woff2') format('woff2'),url('/font/FuturaPT-Heavy.woff') format('woff')}
*{box-sizing:border-box;margin:0;padding:0}
:root{
  --navy:#114761;--deep:#0A2E40;--mid:#1A5A7A;--pale:#7394AD;
  --ice:#DCE8FF;--ice2:#EDF2FF;--white:#fff;
  --gold:#FBB03B;--gold-h:#E5A030;--red:#C13D23;
  --sh:0 4px 24px rgba(10,46,64,0.15)
}
html{scroll-behavior:smooth}
body{font-family:'FuturaPT',sans-serif;color:var(--white);background:var(--deep);overflow-x:hidden;-webkit-font-smoothing:antialiased}

/* ===== HEADER ===== */
.hdr{position:fixed;top:0;left:0;width:100%;z-index:900;padding:12px 28px;transition:0.4s;display:flex;justify-content:center}
.hdr.scrolled{background:rgba(10,46,64,0.94);backdrop-filter:blur(16px);padding:8px 28px}
.hdr-in{max-width:1200px;width:100%;display:flex;justify-content:space-between;align-items:center}
.hdr-logo{display:flex;align-items:center;text-decoration:none}
.hdr-logo img{height:38px;width:auto;filter:drop-shadow(0 2px 8px rgba(0,0,0,0.3));transition:0.3s}
.hdr-logo:hover img{transform:scale(1.04)}
.hdr-nav{display:flex;gap:4px;align-items:center}
.hdr-nav a{font-weight:600;font-size:14px;color:rgba(255,255,255,0.55);text-decoration:none;padding:8px 18px;border-radius:99px;transition:0.3s}
.hdr-nav a:hover{color:var(--white);background:rgba(255,255,255,0.08)}
.hdr-cta{background:var(--gold)!important;color:var(--deep)!important;font-weight:700!important}
.hdr-cta:hover{background:var(--gold-h)!important}
.hdr-contact{display:inline-flex!important;align-items:center;gap:7px;margin-left:8px;padding:9px 18px 9px 16px!important;background:rgba(251,176,59,0.12)!important;color:var(--gold)!important;border:1px solid rgba(251,176,59,0.35);font-weight:700!important;transition:0.25s}
.hdr-contact ion-icon{font-size:17px}
.hdr-contact:hover{background:var(--gold)!important;color:var(--deep)!important;border-color:var(--gold)}
.hdr-mob-call{display:none;align-items:center;justify-content:center;width:42px;height:42px;border-radius:10px;background:rgba(251,176,59,0.14);color:var(--gold);font-size:21px;text-decoration:none;transition:0.25s}
.hdr-mob-call:hover{background:var(--gold);color:var(--deep)}
.mob-btn{display:none;width:42px;height:42px;border:none;background:rgba(255,255,255,0.06);border-radius:10px;color:var(--white);font-size:22px;cursor:pointer}

/* ===== HERO ===== */
.hero{
  position:relative;
  width:100%;
  min-height:100vh;
  background:linear-gradient(180deg,var(--deep) 0%,var(--navy) 50%,var(--mid) 80%,var(--deep) 100%);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  overflow:hidden;padding:80px 24px;
  margin-bottom:-1px;
}
.sc-cloud{position:absolute;z-index:1;opacity:0.12;pointer-events:none}
.sc-c1{top:8%;left:5%;width:140px;animation:fx 50s linear infinite}
.sc-c2{top:18%;right:8%;width:100px;animation:fx 38s 12s linear infinite reverse}
.sc-c3{top:5%;left:55%;width:120px;animation:fx 44s 6s linear infinite}
@keyframes fx{0%{transform:translateX(0)}50%{transform:translateX(60px)}100%{transform:translateX(0)}}
.sc-bird{position:absolute;z-index:2;opacity:0.18;pointer-events:none}
.sc-b1{top:12%;left:30%;width:45px;animation:bf 6s ease-in-out infinite}
.sc-b2{top:8%;right:25%;width:32px;animation:bf 5s 1.5s ease-in-out infinite}
@keyframes bf{0%,100%{transform:translate(0,0)}25%{transform:translate(12px,-6px)}50%{transform:translate(24px,0)}75%{transform:translate(12px,6px)}}

.hero-center{position:relative;z-index:5;display:flex;flex-direction:column;align-items:center;text-align:center;gap:20px}
.hero-logo{width:clamp(260px,42vw,480px);filter:drop-shadow(0 8px 40px rgba(0,0,0,0.3));animation:li 1s cubic-bezier(0.16,1,0.3,1) both}
@keyframes li{from{opacity:0;transform:scale(0.85) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}
.hero-desc{font-size:clamp(15px,2vw,19px);line-height:1.65;color:rgba(255,255,255,0.55);max-width:480px;font-weight:500;animation:fu .8s .3s cubic-bezier(0.16,1,0.3,1) both}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;animation:fu .8s .5s cubic-bezier(0.16,1,0.3,1) both}

/* ===== BUTTONS ===== */
.btn{display:inline-flex;align-items:center;gap:8px;padding:15px 30px;border-radius:99px;font-weight:700;font-size:15px;text-decoration:none;border:none;cursor:pointer;transition:0.3s;font-family:inherit}
.btn-g{background:var(--gold);color:var(--deep);box-shadow:0 4px 20px rgba(251,176,59,0.3)}
.btn-g:hover{background:var(--gold-h);transform:translateY(-2px);box-shadow:0 8px 32px rgba(251,176,59,0.4)}
.btn-o{background:rgba(255,255,255,0.06);color:var(--white);border:2px solid rgba(255,255,255,0.12)}
.btn-o:hover{background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.25);transform:translateY(-2px)}

/* ===== GROUND SCENE ===== */
.hero-ground{position:absolute;bottom:0;left:0;width:100%;height:clamp(160px,22vw,280px);z-index:4;pointer-events:none}
.h-hiker{position:absolute;bottom:0;left:16%;z-index:6;height:clamp(120px,20vw,240px);animation:hw 2.8s ease-in-out infinite;filter:drop-shadow(4px 4px 12px rgba(0,0,0,0.25))}
@keyframes hw{0%,100%{transform:translateY(0)}30%{transform:translateY(-8px) rotate(1deg)}70%{transform:translateY(-5px) rotate(-1deg)}}
.h-tree{position:absolute;bottom:0;z-index:3;opacity:0.55}
.ht1{right:4%;height:clamp(90px,15vw,190px)}
.ht2{right:14%;height:clamp(60px,10vw,130px);opacity:0.25}
.ht3{left:4%;height:clamp(70px,12vw,160px);opacity:0.35;transform:scaleX(-1)}
.h-floor{position:absolute;bottom:0;left:0;width:100%;height:120px;z-index:2;background:linear-gradient(180deg,transparent 0%,var(--deep) 100%)}

/* =================================================== */
/* ===== SMOOTH HERO -> CALENDAR TRANSITION ===== */
/* =================================================== */
/*
  Это единый блок-перетекание. Сверху он ровно совпадает с тоном --deep
  (тот же цвет, в который тёмнеет низ hero через .h-floor). Снизу совпадает
  с тоном --ice (фон календаря). SVG-волна сидит ВНУТРИ этого блока как
  декорация поверх градиента, а не отдельной полосой.
*/
.hero-fade{
  position:relative;
  width:100%;
  height:160px;
  background:linear-gradient(180deg,var(--deep) 0%,#0F3A52 35%,#5A6FA8 75%,var(--ice) 100%);
  margin-top:-1px;
  margin-bottom:-1px;
  overflow:hidden;
  line-height:0;
}
.hero-fade svg{
  position:absolute;
  bottom:0;
  left:0;
  width:100%;
  height:80px;
  display:block;
}

/* ===== CALENDAR ===== */
.calsec{
  padding:70px 24px 90px;
  background:linear-gradient(180deg,var(--ice) 0%,var(--ice2) 100%);
  color:var(--deep);
  position:relative;
  margin-top:-1px;
}
.cal-in{max-width:1100px;margin:0 auto}
.cal-hd{text-align:center;margin-bottom:40px}
.cal-hd h2{font-weight:800;font-size:clamp(24px,3.5vw,38px);color:var(--navy);margin-bottom:6px}
.cal-hd p{font-size:15px;color:var(--pale);font-weight:600}
.cal-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.cal-nav button{font-family:inherit;font-weight:700;font-size:14px;color:var(--mid);padding:10px 20px;border-radius:99px;background:var(--white);border:none;box-shadow:0 2px 8px rgba(10,46,64,0.06);cursor:pointer;transition:0.3s}
.cal-nav button:hover{background:var(--navy);color:var(--white)}
.cal-nav .cm{font-weight:800;font-size:20px;color:var(--navy);text-transform:capitalize}
.cal-loading{text-align:center;padding:40px;color:var(--pale);font-weight:600}

/* === LIST === */
.cal-list{display:flex;flex-direction:column;gap:10px}
.cl-empty{text-align:center;padding:48px 20px;color:var(--pale);font-weight:600;font-size:15px;background:var(--white);border-radius:14px;border:2px dashed rgba(115,148,173,0.3)}
.cl-row{
  display:grid;
  grid-template-columns:78px 1fr;
  gap:8px;
  align-items:stretch;
  background:var(--white);
  border-radius:14px;
  padding:8px 8px 8px 0;
  box-shadow:0 1px 4px rgba(10,46,64,0.06);
  border:2px solid transparent;
  transition:0.25s;
}
.cl-row.today{border-color:var(--navy)}
.cl-date{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-right:1px solid var(--ice);padding:8px 8px 8px 8px}
.cl-day{font-size:28px;font-weight:900;color:var(--navy);line-height:1}
.cl-row.today .cl-day{color:var(--gold)}
.cl-dow{font-size:11px;font-weight:700;color:var(--pale);text-transform:uppercase;letter-spacing:1px;margin-top:4px}

.cl-tours{display:flex;flex-direction:column;gap:2px;min-width:0}
.cl-tour{
  display:flex;
  gap:14px;
  align-items:center;
  min-width:0;
  padding:10px 12px;
  border-radius:10px;
  cursor:pointer;
  transition:0.2s;
  position:relative;
}
.cl-tour:hover{background:var(--ice2);transform:translateX(3px)}
.cl-tour:active{transform:translateX(3px) scale(0.99)}
.cl-tour + .cl-tour{border-top:1px dashed var(--ice)}
.cl-tour-imgs{display:flex;gap:3px;flex-shrink:0}
.cl-tour-img{width:54px;height:54px;border-radius:8px;object-fit:cover;background:var(--ice);display:block}
.cl-tour-img.more{display:flex;align-items:center;justify-content:center;background:var(--navy);color:var(--white);font-weight:800;font-size:13px}
.cl-tour-body{flex:1;min-width:0}
.cl-tour-name{font-weight:800;font-size:15px;color:var(--navy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px}
.cl-tour-meta{display:flex;gap:14px;font-size:12px;color:var(--pale);font-weight:600;flex-wrap:wrap}
.cl-tour-meta span{display:inline-flex;align-items:center;gap:4px}
.cl-tour-meta ion-icon{font-size:1.05em;vertical-align:-0.18em;color:var(--mid)}
.cl-tour-price{font-weight:800;color:var(--gold);font-size:17px;white-space:nowrap;flex-shrink:0;text-align:right}
.cl-tour-price.full{color:var(--red);font-size:13px}
.cl-tour-arrow{font-size:18px;color:var(--pale);flex-shrink:0;transition:0.2s;opacity:0.5}
.cl-tour:hover .cl-tour-arrow{color:var(--gold);opacity:1;transform:translateX(3px)}
.cl-tour.full{opacity:0.85}
.cl-tour.full:hover{background:rgba(193,61,35,0.05)}

.cal-leg{display:flex;gap:20px;justify-content:center;margin-top:24px;font-size:12px;font-weight:700;color:var(--pale);flex-wrap:wrap}

/* ===== POPUP ===== */
.pop{display:none;position:fixed;inset:0;z-index:5000;background:rgba(10,46,64,0.55);backdrop-filter:blur(10px);align-items:center;justify-content:center;padding:24px}
.pop.open{display:flex}
.pop-c{
  background:var(--white);
  border-radius:18px;
  max-width:460px;
  width:100%;
  box-shadow:0 20px 60px rgba(10,46,64,0.3);
  color:var(--deep);
  transform:scale(0.92);
  transition:0.4s cubic-bezier(0.16,1,0.3,1);
  position:relative;
  max-height:90vh;
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
}
.pop.open .pop-c{transform:scale(1)}

/* ===== CAROUSEL ===== */
.pop-carousel{position:relative;width:100%;aspect-ratio:1/1;background:rgba(0,0,0,0.35);overflow:hidden;user-select:none;flex-shrink:0}
.pop-track{display:flex;width:100%;height:100%;transition:transform 0.4s cubic-bezier(0.16,1,0.3,1);will-change:transform}
.pop-track.dragging{transition:none}
.pop-slide{flex:0 0 100%;width:100%;height:100%;position:relative}
.pop-slide img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}

/* Стрелки */
.pop-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:42px;height:42px;
  border-radius:50%;
  background:rgba(0,0,0,0.45);
  color:white;
  border:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
  font-weight:700;
  z-index:3;
  backdrop-filter:blur(8px);
  transition:0.2s;
  font-family:inherit;
}
.pop-arrow:hover{background:rgba(0,0,0,0.7);transform:translateY(-50%) scale(1.05)}
.pop-arrow:disabled{opacity:0.3;cursor:not-allowed}
.pop-arrow:disabled:hover{transform:translateY(-50%) scale(1)}
.pop-arrow.prev{left:12px}
.pop-arrow.next{right:12px}

/* Счётчик 1/4 */
.pop-counter{
  position:absolute;
  top:14px;
  left:14px;
  background:rgba(0,0,0,0.55);
  color:white;
  font-size:12px;
  font-weight:700;
  padding:5px 10px;
  border-radius:99px;
  z-index:3;
  backdrop-filter:blur(8px);
  letter-spacing:0.3px;
}

/* Точки-индикаторы (привычные внизу) */
.pop-dots{
  position:absolute;
  bottom:12px;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  gap:6px;
  z-index:3;
  background:rgba(0,0,0,0.4);
  padding:6px 10px;
  border-radius:99px;
  backdrop-filter:blur(8px);
}
.pop-dot{
  width:7px;height:7px;
  border-radius:50%;
  background:rgba(255,255,255,0.45);
  border:none;
  cursor:pointer;
  padding:0;
  transition:0.3s;
}
.pop-dot:hover{background:rgba(255,255,255,0.7)}
.pop-dot.active{background:var(--white);width:22px;border-radius:99px}

.pop-body{padding:24px;padding-bottom:16px}

/* Sticky footer с кнопкой "Записаться" — приклеен к низу попапа */
.pop-footer{
  position:sticky;
  bottom:0;
  z-index:6;
  background:var(--white);
  padding:14px 20px calc(14px + env(safe-area-inset-bottom, 0px));
  border-top:1px solid rgba(10,46,64,0.08);
  box-shadow:0 -8px 20px -8px rgba(10,46,64,0.08);
}
.pop-footer .btn{width:100%;justify-content:center}
/* Sticky-обёртка крестика — прилипает к верху скролла */
.pop-top{
  position:sticky;
  top:0;
  z-index:6;
  height:0;            /* не занимает места в потоке */
  display:flex;
  justify-content:flex-end;
  pointer-events:none; /* клики только по крестику */
}
.pop-x{
  pointer-events:auto;
  width:36px;height:36px;
  margin:14px 14px 0 0;
  border:none;border-radius:50%;
  background:rgba(0,0,0,0.55);
  color:white;font-size:16px;
  cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:0.3s;
  backdrop-filter:blur(8px);
}
.pop-x:hover{background:var(--red)}
.pop-body h3{font-weight:800;font-size:22px;color:var(--navy);margin-bottom:6px}
.pop-m{display:flex;gap:16px;margin:10px 0 14px;font-size:13px;font-weight:600;color:var(--pale);flex-wrap:wrap}
.pop-d{font-size:14px;line-height:1.7;color:#5A7080;margin-bottom:18px;white-space:pre-line}
.pop-bar{display:flex;align-items:center;gap:10px;margin-bottom:18px}
.bar-bg{flex:1;height:7px;background:var(--ice);border-radius:4px;overflow:hidden}
.bar-fg{height:100%;border-radius:4px;transition:width 0.6s}
.bar-txt{font-size:12px;font-weight:700;color:var(--pale);white-space:nowrap}

.pop-tabs{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap}
.pop-tab{padding:6px 12px;font-size:12px;font-weight:700;border-radius:99px;background:var(--ice);color:var(--mid);border:none;cursor:pointer;font-family:inherit;transition:0.2s}
.pop-tab.active{background:var(--navy);color:var(--white)}

/* ===== ABOUT ===== */
.aboutsec{padding:90px 24px;background:var(--deep);position:relative;overflow:hidden}

/* Плавный переход из календаря (светлый ice) в about (deep) */
.aboutsec::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:80px;
  background:linear-gradient(180deg,var(--ice2) 0%,var(--deep) 100%);
  z-index:0;
}
.aboutsec > *{position:relative;z-index:1}

.about-top{max-width:800px;margin:0 auto 48px;text-align:center;padding-top:40px}
.about-top h2{font-weight:800;font-size:clamp(24px,3.5vw,38px);color:var(--white);margin-bottom:12px}
.about-top p{font-size:16px;line-height:1.7;color:rgba(255,255,255,0.45);font-weight:500}
.about-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 24px 20px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.about-track::-webkit-scrollbar{display:none}
.about-card{flex:0 0 280px;scroll-snap-align:start;border-radius:20px;overflow:hidden;position:relative;min-height:340px;transition:0.3s}
.about-card:hover{transform:translateY(-6px)}
.about-card-bg{position:absolute;inset:0;background:linear-gradient(135deg,var(--navy) 0%,var(--mid) 100%);z-index:1}
.about-card-content{position:relative;z-index:2;padding:32px 24px;display:flex;flex-direction:column;height:100%}
.ac-num{font-size:48px;font-weight:900;color:rgba(251,176,59,0.15);line-height:1;margin-bottom:12px}
.ac-icon{font-size:36px;margin-bottom:16px;color:var(--gold);line-height:1}
.about-card-content h4{font-weight:800;font-size:18px;color:var(--white);margin-bottom:10px}
.about-card-content p{font-size:14px;line-height:1.65;color:rgba(255,255,255,0.5);font-weight:500}
.ac-accent{position:absolute;bottom:-20px;right:-20px;width:100px;height:100px;border-radius:50%;background:rgba(251,176,59,0.06);z-index:1}

/* ===== CONTACTS ===== */
.contactsec{padding:60px 24px 40px;background:linear-gradient(180deg,#0A2E40 0%,#0a2235 100%);color:#fff}
.contact-in{max-width:1100px;margin:0 auto}
.contact-head{text-align:center;margin-bottom:32px}
.contact-head h2{font-size:30px;font-weight:800;color:#fff;margin-bottom:10px}
.contact-head p{color:rgba(255,255,255,0.55);font-weight:500;font-size:15px}
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin-bottom:28px}
.contact-card{display:flex;align-items:center;gap:14px;padding:18px 18px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.06);border-radius:14px;text-decoration:none;color:#fff;transition:0.25s}
.contact-card:hover{background:rgba(251,176,59,0.08);border-color:rgba(251,176,59,0.35);transform:translateY(-2px)}
.contact-card-ic{width:46px;height:46px;flex:none;border-radius:50%;background:rgba(251,176,59,0.12);color:var(--gold);display:flex;align-items:center;justify-content:center;font-size:22px}
.contact-card-body{display:flex;flex-direction:column;gap:2px;min-width:0}
.contact-card-l{font-size:12px;color:rgba(255,255,255,0.5);font-weight:600;text-transform:uppercase;letter-spacing:0.4px}
.contact-card-v{font-size:15px;font-weight:700;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.contact-req{text-align:center;font-size:14px;color:rgba(255,255,255,0.7);font-weight:500;padding-top:16px;border-top:1px solid rgba(255,255,255,0.06)}
.contact-req-sep{margin:0 10px;color:rgba(255,255,255,0.3)}

/* ===== FOOTER ===== */
.ftr{background:var(--deep);border-top:1px solid rgba(255,255,255,0.04);padding:36px 24px 22px}
.ftr-in{max-width:1100px;margin:0 auto;text-align:center}
.ftr-top{display:flex;flex-direction:column;align-items:center;gap:14px;margin-bottom:18px}
.ftr-logo{display:flex;align-items:center;justify-content:center}
.ftr-logo img{height:28px;filter:brightness(0) invert(1);opacity:0.5}
.ftr-l{display:flex;gap:18px;justify-content:center;flex-wrap:wrap}
.ftr-l a{color:rgba(255,255,255,0.45);text-decoration:none;font-size:13px;font-weight:600;transition:0.3s}
.ftr-l a:hover{color:var(--gold)}
.ftr-req{font-size:13px;color:rgba(255,255,255,0.45);font-weight:500;margin-bottom:8px;padding:14px 0;border-top:1px solid rgba(255,255,255,0.05);border-bottom:1px solid rgba(255,255,255,0.05)}
.ftr-req a{color:rgba(255,255,255,0.7);text-decoration:none;font-weight:600}
.ftr-req a:hover{color:var(--gold)}
.ftr-req-sep{margin:0 8px;color:rgba(255,255,255,0.25)}
.ftr-c{font-size:12px;color:rgba(255,255,255,0.25);margin-top:12px}
@media (max-width:640px){
  .contact-head h2{font-size:24px}
  .contact-grid{grid-template-columns:1fr}
  .ftr-req{font-size:12px}
  .ftr-req-sep{display:inline-block;margin:0 6px}
}

/* ===== MOBILE NAV ===== */
.mnav{position:fixed;inset:0;z-index:2000;background:rgba(10,46,64,0.97);backdrop-filter:blur(20px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;opacity:0;visibility:hidden;transition:0.3s}
.mnav.open{opacity:1;visibility:visible}
.mnav a{font-weight:700;font-size:20px;color:var(--white);text-decoration:none;padding:12px 28px;border-radius:99px;transition:0.3s}
.mnav a:hover{background:rgba(251,176,59,0.12);color:var(--gold)}
.mnav-x{position:absolute;top:14px;right:20px;z-index:2001;width:44px;height:44px;border:none;background:rgba(255,255,255,0.06);border-radius:50%;font-size:20px;cursor:pointer;color:var(--white);display:flex;align-items:center;justify-content:center}

/* ===== ANIMATIONS ===== */
@keyframes fu{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}

/* ============================================== */
/* ===== REGISTRATION PAGE ===== */
/* ============================================== */
.reg-body{background:linear-gradient(180deg,var(--deep) 0%,var(--navy) 100%);min-height:100vh;color:var(--white)}
.reg-wrap{max-width:760px;margin:0 auto;padding:80px 20px 40px}
.reg-back{display:inline-flex;align-items:center;gap:6px;color:rgba(255,255,255,0.55);text-decoration:none;font-weight:600;font-size:14px;margin-bottom:20px;transition:0.2s}
.reg-back:hover{color:var(--gold)}

.reg-hero{background:var(--white);color:var(--deep);border-radius:20px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,0.25);margin-bottom:24px}
.reg-hero-img{width:100%;height:220px;object-fit:cover;background:var(--ice)}
.reg-hero-body{padding:24px 28px}
.reg-hero h1{font-weight:800;font-size:24px;color:var(--navy);margin-bottom:8px}
.reg-meta{display:flex;gap:18px;flex-wrap:wrap;font-size:14px;font-weight:600;color:var(--pale);margin-bottom:14px}
.reg-meta span{display:inline-flex;align-items:center;gap:6px}
.reg-price{display:inline-flex;align-items:center;gap:8px;background:var(--gold);color:var(--deep);padding:8px 16px;border-radius:99px;font-weight:800;font-size:16px}
.reg-spots{margin-top:14px}
.reg-spots-bar{height:7px;background:var(--ice);border-radius:4px;overflow:hidden;margin-top:6px}
.reg-spots-fill{height:100%;background:var(--mid);border-radius:4px;transition:0.5s}
.reg-spots-fill.warn{background:var(--gold)}
.reg-spots-fill.full{background:var(--red)}
.reg-spots-txt{font-size:12px;font-weight:700;color:var(--pale)}

.reg-card{background:var(--white);color:var(--deep);border-radius:20px;padding:28px;box-shadow:0 20px 60px rgba(0,0,0,0.25);margin-bottom:24px}
.reg-card h2{font-weight:800;font-size:18px;color:var(--navy);margin-bottom:18px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px}
.reg-card h2 .mini{font-size:12px;font-weight:600;color:var(--pale);background:var(--ice);padding:4px 10px;border-radius:99px}

.reg-people{display:flex;flex-direction:column;gap:14px}
.reg-person{border:2px solid var(--ice);border-radius:14px;padding:18px;background:#FAFCFF;position:relative;transition:0.2s}
.reg-person:focus-within{border-color:var(--gold);background:var(--white)}
.reg-person-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.reg-person-h strong{font-size:14px;font-weight:800;color:var(--navy)}
.reg-rm{background:none;border:none;color:var(--red);font-weight:700;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:6px;transition:0.2s;font-family:inherit}
.reg-rm:hover{background:rgba(193,61,35,0.08)}

.reg-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.reg-grid .full{grid-column:1/-1}
.reg-fld label{display:block;font-size:11px;font-weight:700;color:var(--pale);text-transform:uppercase;letter-spacing:0.6px;margin-bottom:6px}
.reg-fld input{width:100%;height:42px;background:var(--white);border:1.5px solid var(--ice);border-radius:10px;padding:0 12px;font-size:14px;font-family:inherit;color:var(--deep);outline:none;transition:0.2s}
.reg-fld input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(251,176,59,0.15)}
.reg-fld input.err{border-color:var(--red);box-shadow:0 0 0 3px rgba(193,61,35,0.1)}

.reg-add{margin-top:14px;background:var(--ice);border:2px dashed rgba(115,148,173,0.4);color:var(--mid);font-weight:700;font-size:14px;padding:12px;border-radius:12px;width:100%;cursor:pointer;transition:0.2s;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:6px}
.reg-add:hover{background:#CFDBF5;color:var(--navy)}
.reg-add:disabled{opacity:0.4;cursor:not-allowed}
.reg-add-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.reg-add-row .reg-add{margin-top:0;flex:1;min-width:160px}
.reg-add-child{background:#FFF7E6;border-color:rgba(251,176,59,0.5);color:#8a5a00}
.reg-add-child:hover{background:#FFEFCC;color:#5a3a00}

.reg-summary{background:linear-gradient(135deg,var(--navy) 0%,var(--mid) 100%);color:var(--white);border-radius:20px;padding:22px 26px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;box-shadow:0 12px 40px rgba(10,46,64,0.4);margin-bottom:20px}
.reg-summary-info strong{display:block;font-size:13px;font-weight:600;opacity:0.6;margin-bottom:4px}
.reg-summary-info span{font-size:24px;font-weight:800}
.reg-submit{background:var(--gold);color:var(--deep);font-weight:800;font-size:15px;padding:14px 28px;border:none;border-radius:99px;cursor:pointer;font-family:inherit;transition:0.2s;display:inline-flex;align-items:center;gap:8px}
.reg-submit:hover:not(:disabled){background:var(--gold-h);transform:translateY(-2px);box-shadow:0 8px 24px rgba(251,176,59,0.4)}
.reg-submit:disabled{opacity:0.5;cursor:not-allowed}

.reg-success{background:var(--white);color:var(--deep);border-radius:20px;padding:48px 28px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,0.25)}
.reg-success-icon{width:72px;height:72px;border-radius:50%;background:rgba(52,199,89,0.15);color:#34C759;display:inline-flex;align-items:center;justify-content:center;font-size:36px;font-weight:800;margin-bottom:18px}
.reg-success h2{font-size:24px;font-weight:800;color:var(--navy);margin-bottom:10px}
.reg-success p{font-size:15px;color:var(--pale);font-weight:500;line-height:1.6;margin-bottom:24px}

.reg-error{background:rgba(193,61,35,0.1);color:var(--red);padding:12px 16px;border-radius:10px;font-size:13px;font-weight:600;margin-bottom:16px;border:1px solid rgba(193,61,35,0.2)}

/* ===== RESPONSIVE ===== */
@media(max-width:768px){
  .hdr-nav{display:none}
  .mob-btn{display:flex;align-items:center;justify-content:center}
  .hdr-mob-call{display:none}
  .hero{padding:70px 16px 60px}
  .hero-logo{width:220px}
  .hero-desc{font-size:14px}
  .hero-btns{flex-direction:column;align-items:center}
  .hero-btns .btn{width:100%;max-width:280px;justify-content:center;font-size:14px;padding:14px 20px}
  .h-hiker{left:6%;height:100px}
  .hero-ground{height:130px}
  .h-tree{opacity:0.25}

  .hero-fade{height:120px}
  .hero-fade svg{height:60px}

  .cl-row{grid-template-columns:56px 1fr;gap:12px;padding:12px 14px}
  .cl-date{padding-right:12px}
  .cl-day{font-size:22px}
  .cl-dow{font-size:10px;margin-top:2px}
  .cl-tour{gap:10px}
  .cl-tour-img{width:42px;height:42px}
  .cl-tour-imgs .cl-tour-img:nth-child(n+2){display:none}
  .cl-tour-name{font-size:13px}
  .cl-tour-meta{font-size:11px;gap:10px}
  .cl-tour-price{font-size:14px}

  .pop-arrow{width:36px;height:36px;font-size:16px}
  .pop-arrow.prev{left:8px}
  .pop-arrow.next{right:8px}
  .pop-body{padding:20px}
  .about-card{flex:0 0 250px;min-height:300px}

  .reg-wrap{padding:60px 14px 30px}
  .reg-grid{grid-template-columns:1fr}
  .reg-summary{flex-direction:column;text-align:center}
  .reg-submit{width:100%;justify-content:center}
}
@media(min-width:769px){
  .mob-btn{display:none!important}
}

/* ===== ION-ICONS ===== */
ion-icon{
  font-size:1.1em;
  vertical-align:-0.15em;
  --ionicon-stroke-width:32px;
}
.btn ion-icon{font-size:1.15em;vertical-align:-0.2em}
.hero-btns ion-icon{font-size:1.2em}
.pop-m ion-icon{font-size:1.05em;color:var(--pale);margin-right:2px}
.reg-meta ion-icon{font-size:1.1em;color:var(--mid)}
.reg-price ion-icon{font-size:1.15em}
.reg-back ion-icon{font-size:1.15em}
.cal-leg ion-icon{font-size:1.05em;vertical-align:-0.18em}
.cal-leg ion-icon[name="ellipse"][color="green"]{color:var(--green,#2ECC71)}
.cal-leg ion-icon[name="ellipse"][color="red"]{color:var(--red)}
.cal-leg ion-icon[name="location"]{color:var(--gold)}
.cal-nav ion-icon{font-size:1em;vertical-align:-0.18em}
.copy-link ion-icon{font-size:1.05em}
.cg-d.tour .dn ion-icon,.cg-more ion-icon{font-size:0.95em}

/* Цветные «ягодки» в легенде через body-color стили */
.leg-dot-green{color:#2ECC71}
.leg-dot-red{color:var(--red)}
.leg-dot-gold{color:var(--gold)}

/* Spinner для кнопки отправки */
.reg-submit .spinner{
  display:inline-block;
  width:14px;height:14px;
  border:2px solid rgba(10,46,64,0.25);
  border-top-color:var(--deep);
  border-radius:50%;
  animation:reg-spin 0.7s linear infinite;
  vertical-align:-2px;
  margin-right:6px;
}
@keyframes reg-spin{to{transform:rotate(360deg)}}
