.zencey-dashboard {
  padding: 8px 0 24px;
  --zencey-accent: #70c7e6;
}
.zencey-card {
  position: relative;
  width: 100%;
}
.zencey-card > img {
  display: block;
  width: 100%;
  height: auto;
}
.zencey-start {
  position: absolute;
  left: 8%;
  top: 55%;
  width: 61%;
  height: 28%;
  border: 0;
  border-radius: 999px;
  background: transparent;
  cursor: pointer;
}
.zencey-start:focus-visible {
  outline: 3px solid #407e99;
  outline-offset: 2px;
}
.zencey-carousel {
  position: relative;
  z-index: 3;
  margin: -24px 0 0;
  padding: 0 4px;
}
.zencey-track {
  border-radius: 0;
  align-items: stretch;
}
.zencey-service-page {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  scroll-snap-stop: always;
}
.zencey-service {
  position: relative;
  min-width: 0;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  aspect-ratio: 373/582;
}
.zencey-service img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 0;
  user-select: none;
  -webkit-user-drag: none;
  pointer-events: none;
}
.zencey-service::after {
  content: "";
  position: absolute;
  inset: 1% 5% 5%;
  border: 2px solid transparent;
  border-radius: 17%/11%;
  pointer-events: none;
}
.zencey-service:active::after {
  border-color: #407e99;
}
.zencey-service:focus-visible {
  outline: 2px solid #407e99;
  outline-offset: -2px;
  border-radius: 14px;
}
.zencey-carousel .promo-dot.active {
  background: #407e99;
}
.zencey-carousel .promo-dot:focus-visible {
  outline-color: #407e99;
}
.zencey-preview { padding: 20px 24px 32px; color: #25414a; }
.zencey-preview-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; }
.zencey-preview-header > img { width:62px; height:62px; object-fit:contain; border-radius:14px; background:#407e99; }
.zencey-preview-header .page-back-row { position:static; flex:0 0 44px; width:44px; min-width:0; margin:0; padding:0; background:transparent; }
.zencey-preview h2 { margin:0 0 12px; }
.zencey-preview h3 { margin:24px 0 8px; }
.zencey-preview p { font-size:14px; line-height:1.65; margin:12px 0 20px; }
.zencey-preview .zencey-muted { color:#637e86; font-size:12px; line-height:1.55; }
.zencey-field { display:block; font-size:14px; font-weight:600; margin:22px 0 8px; }
.zencey-preview input,.zencey-preview select { width:100%; box-sizing:border-box; min-height:46px; border:1px solid #b9d5dc; border-radius:14px; padding:12px; font:inherit; background:#fff; color:#25414a; }
.zencey-answer { border:1px solid #d4e4e8; background:#fff; border-radius:18px; padding:18px; margin:12px 0; }
.zencey-answer summary { font-size:14px; font-weight:600; line-height:1.5; cursor:pointer; }
.zencey-answer[open] summary { color:#397b92; }
.zencey-answer p { font-size:14px!important; line-height:1.7; margin:14px 0 0; }
.zencey-notice { background:#eaf6fa; padding:14px 16px; border-radius:14px; font-size:12px!important; }
.zencey-camera { position:relative; overflow:hidden; border-radius:24px; aspect-ratio:3/4; background:#163540; color:#fff; }
.zencey-doctor { width:100%; height:100%; object-fit:cover; }
.zencey-session-tag { position:absolute; left:14px; top:14px; background:#17323be6; padding:7px 10px; border-radius:20px; font-size:10px; letter-spacing:.08em; }
.zencey-camera-self { position:absolute; right:12px; top:52px; width:82px; height:104px; border:1px solid #ffffff80; background:#2c4c58ed; border-radius:12px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:5px; gap:8px; }
.zencey-camera-self svg { width:35px; height:35px; fill:none; stroke:#b9dce7; stroke-width:2; }
.zencey-camera-self span { font-size:9px; }
.zencey-doctor-caption { position:absolute; bottom:0; left:0; right:0; padding:50px 18px 20px; background:linear-gradient(transparent,#102b37ef); display:grid; grid-template-columns:1fr 32px; gap:10px; }
.zencey-doctor-caption > span:last-child { grid-column:1/-1; font-size:13px; line-height:1.5; }
.zencey-wave { display:flex; align-items:center; gap:3px; height:22px; }
.zencey-wave i { width:3px; height:14px; background:#87dfeb; border-radius:2px; animation:zencey-wave 1.2s ease-in-out infinite alternate; }
.zencey-wave i:nth-child(2n) { animation-delay:.4s; height:8px; }
.zencey-wave i:nth-child(3) { animation-delay:.2s; height:22px; }
@keyframes zencey-wave { to { transform:scaleY(.35); } }
@media(prefers-reduced-motion:reduce) { .zencey-wave i { animation:none; } }
.zencey-country { display:flex; gap:12px; align-items:center; padding:14px; background:#eaf6fa; border-radius:16px; margin:20px 0; }
.zencey-country > div { display:grid; gap:6px; }
.zencey-country small { color:#53727f; font-size:11px; }
.zencey-country .service-country-button { flex:none; }
.zencey-map { display:block; width:100%; height:270px; border:0; border-radius:18px; background:#eaf3f5; }
.zencey-map-link { color:#397b92; font-size:13px; }
.zencey-places { display:grid; gap:8px; }
.zencey-places button { border:1px solid #cbdfe5; background:#fff; color:#25414a; padding:14px; border-radius:14px; text-align:left; font:inherit; text-transform:none; }
.zencey-places button[aria-pressed=true] { background:#e3f4f8; border-color:#407e99; }
.zencey-places button strong { font-size:14px; display:block; }
.zencey-places button span { font-size:12px; display:block; margin-top:6px; }
.zencey-offer { border-top:4px solid #70c7e6; }
.zencey-offer:nth-of-type(2) { border-top-color:#407e99; }
.zencey-offer:nth-of-type(3) { border-top-color:#25414a; }
.zencey-offer-tag { display:inline-block; margin-top:16px; padding:6px 10px; background:#eaf6fa; border-radius:20px; font-size:11px; }
