/* ═══════════════════════ Дизайн-токени (README хендофу) ═══════════════════════ */
:root{
  --mint:#E5EFE8; --panel:#EDF4EF; --card-alt:#F5F9F6; --input-bg:#F8FBF9;
  --ink:#123E40; --body:#33474A; --muted:#5c6f71; --label:#8a9a9b;
  --teal:#15707A; --teal-light:#4C9E90; --cta:#4E9C36; --cta-hover:#3E8129;
  --badge-num:#DCEBE1; --border:#D5E1DB; --border-2:#E1EAE4; --border-3:#E7F0EA;
  --err-text:#C0392B; --err-bg:#FBEDEA; --ok-circle:#E4F2E0;
}

/* ═══════════════════════ База ═══════════════════════ */
*{ box-sizing:border-box; }
html,body{ margin:0; }
body{
  font-family:'Manrope',system-ui,-apple-system,sans-serif;
  -webkit-font-smoothing:antialiased; background:var(--mint); color:var(--ink);
}
img{ max-width:100%; }
@keyframes dcPop{ from{opacity:0; transform:translateY(12px) scale(.97);} to{opacity:1; transform:none;} }
@keyframes dcFade{ from{opacity:0;} to{opacity:1;} }
@keyframes dcSpin{ to{transform:rotate(360deg);} }
@keyframes dcSheetUp{ from{transform:translateY(100%);} to{transform:none;} }

/* Перемикання макетів: за замовчуванням мобільний, десктоп від 820px */
.desktop{ display:none; }
.mobile{ display:block; }
@media (min-width:820px){
  .desktop{ display:flex; }
  .mobile{ display:none; }
}

/* Декоративні «пігулки» */
.decor{ position:absolute; inset:0; overflow:hidden; pointer-events:none; }
.pill{ position:absolute; border-radius:70px; }

/* ═══════════════════════ ДЕСКТОП (≥820px) ═══════════════════════ */
.desktop{
  position:relative; min-height:100vh; overflow:hidden; background:var(--mint);
  padding:64px 40px; align-items:center; justify-content:center;
}
.d-pill-1{ top:-80px; left:-140px; width:440px; height:130px; background:rgba(255,255,255,.55); transform:rotate(-38deg); }
.d-pill-2{ top:-24px; left:-170px; width:400px; height:88px; background:rgba(255,255,255,.32); transform:rotate(-38deg); }
.d-pill-3{ top:-40px; right:-40px; width:240px; height:100px; background:var(--teal-light); opacity:.9; transform:rotate(-38deg); }
.d-pill-4{ top:96px; right:-90px; width:180px; height:78px; background:var(--teal); transform:rotate(-38deg); }
.d-pill-5{ bottom:-80px; right:120px; width:220px; height:92px; background:var(--teal-light); opacity:.8; transform:rotate(-38deg); }

.card{
  position:relative; z-index:1; width:100%; max-width:960px; background:#fff;
  border-radius:24px; box-shadow:0 26px 64px rgba(18,62,64,.18); padding:48px 50px;
}
.card-head{ display:flex; align-items:center; justify-content:space-between; gap:20px; }
.card-head img{ height:96px; width:auto; margin:-8px 0 -8px -6px; }
.badge{
  display:inline-flex; align-items:center; gap:8px; background:var(--panel); color:var(--teal);
  font-weight:700; font-size:12px; letter-spacing:.12em; padding:8px 14px; border-radius:999px; white-space:nowrap;
}
.title-d{ margin:22px 0 0; font-size:44px; line-height:1.08; font-weight:800; color:var(--ink); letter-spacing:-.015em; max-width:20ch; }
.subtitle-d{ margin:16px 0 0; font-size:17px; line-height:1.6; color:var(--body); max-width:60ch; }
.grid{ display:grid; grid-template-columns:1.25fr 1fr; gap:40px; margin-top:34px; }

.section-label{ font-size:12.5px; letter-spacing:.12em; font-weight:700; color:var(--teal-light); margin-bottom:6px; }
.agenda-item{ display:flex; gap:14px; align-items:flex-start; padding:14px 0; border-top:1px solid rgba(18,62,64,.1); }
.agenda-num{
  flex:none; width:36px; height:36px; border-radius:11px; background:var(--badge-num); color:var(--teal);
  font-weight:800; font-size:13.5px; display:flex; align-items:center; justify-content:center;
}
.agenda-title{ font-size:16px; font-weight:700; color:var(--ink); }
.agenda-text{ font-size:14px; line-height:1.5; color:var(--muted); margin-top:3px; }

.details{ background:var(--panel); border-radius:18px; padding:26px 24px; align-self:start; }
.details-label{ font-size:12.5px; letter-spacing:.12em; font-weight:700; color:var(--teal); margin-bottom:16px; }
.details-list{ display:flex; flex-direction:column; gap:16px; }
.detail-row{ display:flex; gap:12px; align-items:center; }
.detail-row.top{ align-items:flex-start; }
.detail-icon{ display:flex; align-items:center; justify-content:center; flex:none; width:42px; height:42px; border-radius:12px; background:#fff; color:var(--teal); }
.detail-cap{ font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--label); font-weight:700; }
.detail-val{ font-size:16.5px; font-weight:700; color:var(--ink); }
.detail-val.sm{ font-size:14.5px; line-height:1.35; }

.btn-cta{
  display:inline-flex; align-items:center; justify-content:center; gap:9px; width:100%;
  background:var(--cta); color:#fff; font-weight:700; font-size:16px; padding:15px 20px;
  border:none; border-radius:13px; cursor:pointer; box-shadow:0 12px 26px rgba(78,156,54,.3);
  font-family:inherit; margin-top:22px;
}
.btn-cta:hover{ background:var(--cta-hover); }

.share-row{ display:flex; align-items:center; gap:8px; justify-content:center; flex-wrap:wrap; margin-top:14px; }
.btn-share{
  padding:7px 10px; border-radius:9px; border:1.5px solid var(--border); background:#fff; color:var(--teal);
  font-weight:600; font-size:12px; cursor:pointer; font-family:inherit;
}
.btn-share:hover{ background:#F3F8F5; border-color:var(--teal-light); }

/* ═══════════════════════ МОБІЛЬНИЙ (<820px) ═══════════════════════ */
.mobile{ position:relative; min-height:100vh; background:#fff; overflow-x:hidden; }
.m-header{ position:relative; overflow:hidden; background:var(--mint); padding:52px 22px 28px; text-align:center; }
.m-pill-1{ top:-38px; left:-70px; width:230px; height:72px; background:rgba(255,255,255,.5); transform:rotate(-36deg); border-radius:40px; }
.m-pill-2{ top:-14px; right:-46px; width:130px; height:54px; background:var(--teal-light); opacity:.85; transform:rotate(-36deg); border-radius:40px; }
.m-pill-3{ bottom:-28px; right:36px; width:96px; height:40px; background:var(--teal); transform:rotate(-36deg); border-radius:40px; }
.m-header-inner{ position:relative; z-index:1; }
.m-header img{ height:74px; width:auto; display:inline-block; }
.title-m{ margin:16px 0 0; font-size:28px; line-height:1.1; font-weight:800; color:var(--ink); letter-spacing:-.015em; }
.subtitle-m{ margin:12px 0 0; font-size:14.5px; line-height:1.55; color:var(--body); }

.m-body{ max-width:480px; margin:0 auto; padding:22px 20px 44px; }
.m-details{ border:1.5px solid var(--border-2); border-radius:16px; overflow:hidden; }
.m-detail-row{ display:flex; align-items:center; gap:14px; padding:15px 16px; border-bottom:1.5px solid var(--border-2); }
.m-detail-row.last{ border-bottom:none; align-items:flex-start; }
.m-detail-icon{ flex:none; width:42px; height:42px; border-radius:12px; background:var(--panel); color:var(--teal); display:flex; align-items:center; justify-content:center; }
.m-detail-cap{ font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--label); font-weight:700; }
.m-detail-val{ font-size:16.5px; font-weight:700; color:var(--ink); margin-top:1px; }
.m-detail-val .wd{ font-weight:500; color:var(--label); font-size:13px; }
.m-detail-val.sm{ font-size:15px; line-height:1.4; }
.m-body .btn-cta{ font-size:16.5px; padding:16px 24px; border-radius:14px; margin-top:20px; }

.m-agenda-label{ font-size:11.5px; letter-spacing:.12em; font-weight:700; color:var(--teal-light); text-align:center; margin:30px 0 14px; }
.m-agenda{ display:flex; flex-direction:column; gap:12px; }
.agenda-card{ background:var(--card-alt); border:1px solid var(--border-3); border-radius:14px; padding:18px; }
.agenda-card .row{ display:flex; align-items:center; gap:12px; }
.agenda-card .agenda-num{ font-size:14px; }
.agenda-card .title{ font-size:15.5px; font-weight:700; color:var(--ink); line-height:1.25; }
.agenda-card .text{ font-size:13.5px; line-height:1.5; color:var(--muted); margin-top:10px; }

.m-footer{ text-align:center; margin-top:26px; padding-top:22px; border-top:1px solid #EDF1EE; }
.m-footer p{ margin:0 0 14px; font-size:13.5px; line-height:1.55; color:var(--muted); }
.m-share{ display:flex; flex-wrap:wrap; gap:8px; justify-content:center; align-items:center; }
.m-share .cap{ font-size:12.5px; color:var(--label); font-weight:600; flex-basis:100%; }
.m-share .btn-share{ padding:9px 13px; border-radius:10px; font-size:13px; }

/* ═══════════════════════ КОНТАКТИ (спільна секція) ═══════════════════════ */
.contacts{ background:var(--panel); }
.contacts-inner{ max-width:960px; margin:0 auto; padding:34px 24px; text-align:center; }
.contacts-title{ font-size:17px; font-weight:800; color:var(--ink); margin:0 0 4px; }
.contacts-sub{ font-size:13.5px; color:var(--muted); margin:0 0 18px; }
.contacts-list{ display:flex; flex-wrap:wrap; gap:12px 22px; justify-content:center; }
.contact-item{ display:inline-flex; align-items:center; gap:8px; color:var(--teal); text-decoration:none; font-weight:600; font-size:14px; }
.contact-item:hover{ text-decoration:underline; }
.contact-item svg{ width:18px; height:18px; flex:none; }
.contacts-address{ display:inline-flex; align-items:center; gap:8px; margin-top:16px; color:var(--muted); font-size:13.5px; }
.contacts-address svg{ width:18px; height:18px; flex:none; color:var(--teal); }

/* ═══════════════════════ МОДАЛКА / SHEET ═══════════════════════ */
[data-modal]{
  position:fixed; inset:0; z-index:60; display:none; align-items:center; justify-content:center;
  padding:28px; background:rgba(11,42,44,.55); backdrop-filter:blur(5px); animation:dcFade .2s ease;
}
[data-modal].open{ display:flex; }
.panel{
  width:100%; max-width:470px; max-height:100%; overflow-y:auto; background:#fff;
  border-radius:24px; box-shadow:0 30px 80px rgba(11,42,44,.4); animation:dcPop .3s ease;
}
.sheet-handle{ display:none; }

.form-head{ padding:28px 30px 4px; position:relative; }
.btn-close{
  position:absolute; top:20px; right:20px; width:36px; height:36px; border-radius:11px; border:none;
  background:#EEF3F0; color:var(--body); cursor:pointer; display:flex; align-items:center; justify-content:center;
}
.btn-close:hover{ background:#E1E9E5; }
.form-kicker{ font-size:12px; font-weight:700; letter-spacing:.12em; color:var(--teal-light); }
.form-title{ margin:8px 0 0; font-size:23px; font-weight:800; color:var(--ink); line-height:1.2; }
.form-sub{ margin:9px 0 0; font-size:14px; color:var(--muted); line-height:1.5; }
.form-sub .accent{ color:var(--teal); font-weight:600; }

.reg-form{ padding:20px 30px 28px; }
.field{ margin-bottom:14px; }
.field.last{ margin-bottom:8px; }
.field label{ display:block; font-size:13px; font-weight:600; color:var(--body); margin-bottom:6px; }
.field input, .field textarea{
  width:100%; padding:12px 14px; border:1.5px solid var(--border); border-radius:12px;
  font-size:16px; font-family:inherit; color:var(--ink); background:var(--input-bg); outline:none;
}
.field textarea{ min-height:64px; resize:vertical; }
.field input:focus, .field textarea:focus{ border-color:var(--teal-light); background:#fff; }
@media (min-width:820px){ .field input, .field textarea{ font-size:15px; } }

.hp{ position:absolute; left:-9999px; width:1px; height:1px; opacity:0; }
[data-error]{ display:none; font-size:13.5px; color:var(--err-text); background:var(--err-bg); border-radius:10px; padding:10px 12px; margin:6px 0 2px; }
.reg-form .btn-cta{ margin-top:14px; }
.spinner{ display:none; width:16px; height:16px; border:2px solid rgba(255,255,255,.4); border-top-color:#fff; border-radius:50%; animation:dcSpin .7s linear infinite; }
.consent{ margin:14px 0 0; font-size:12px; color:var(--label); line-height:1.5; text-align:center; }

.thanks{ display:none; padding:38px 32px 32px; text-align:center; }
.thanks-circle{ width:66px; height:66px; border-radius:50%; background:var(--ok-circle); color:var(--cta); display:flex; align-items:center; justify-content:center; margin:0 auto; }
.thanks h3{ margin:18px 0 0; font-size:24px; font-weight:800; color:var(--ink); }
.thanks p{ margin:10px 0 0; font-size:15px; color:var(--muted); line-height:1.6; }
.remind{ margin:22px 0 0; background:var(--panel); border-radius:16px; padding:18px 20px; text-align:left; }
.remind-title{ font-size:15px; font-weight:700; color:var(--ink); margin-bottom:12px; }
.remind-rows{ display:flex; flex-direction:column; gap:10px; }
.remind-row{ display:flex; gap:10px; align-items:center; font-size:14px; color:var(--body); }
.remind-row.top{ align-items:flex-start; }
.remind-row .ic{ color:var(--teal); display:flex; }
.share-block{ margin:22px 0 0; }
.share-block .cap{ font-size:13px; font-weight:600; color:var(--muted); margin-bottom:10px; }
.share-block .row{ display:flex; flex-wrap:wrap; gap:8px; justify-content:center; }
.share-block .btn-share{ padding:9px 13px; border-radius:10px; font-size:13px; }
.btn-done{ margin-top:24px; width:100%; background:var(--teal); color:#fff; font-weight:700; font-size:16px; padding:14px; border:none; border-radius:13px; cursor:pointer; font-family:inherit; }
.btn-done:hover{ background:#0F5A62; }

/* Мобільна модалка = bottom sheet */
@media (max-width:819px){
  [data-modal]{ align-items:flex-end; padding:0; background:rgba(11,42,44,.5); backdrop-filter:blur(4px); }
  .panel{ max-width:480px; max-height:92%; border-radius:26px 26px 0 0; box-shadow:0 -20px 60px rgba(11,42,44,.4); animation:dcSheetUp .32s cubic-bezier(.2,.9,.3,1); }
  .sheet-handle{ display:flex; position:sticky; top:0; z-index:2; background:#fff; padding:10px 0 6px; justify-content:center; }
  .sheet-handle span{ width:40px; height:5px; border-radius:100px; background:var(--border); }
  .form-head{ padding:6px 24px 4px; }
  .btn-close{ top:0; }
  .form-title{ font-size:22px; }
  .form-sub{ font-size:13.5px; }
  .reg-form{ padding:16px 24px 30px; }
  .thanks{ padding:22px 24px 30px; }
  .thanks h3{ font-size:23px; }
  .thanks p{ font-size:14.5px; }
  .btn-done{ padding:15px; }
}
