/* Local route boundary; reference component geometry remains in reference.css. */
.adult-care {font-family:'DM Sans',sans-serif;min-height:100vh;}
.adult-care [hidden]{display:none!important}
.adult-care .adult-icon {fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.adult-care .native-directory-sheet {position:fixed;inset:auto 0 0;width:100%;max-width:none;height:90dvh;max-height:90dvh;margin:0;border:0;border-radius:28px 28px 0 0;padding:0;overflow:auto;background:#fffefa;}
.adult-care .native-directory-sheet::backdrop{background:#153b3e66;backdrop-filter:blur(5px)}
.adult-care .native-directory-sheet .adult-care {min-height:100%;}
.adult-care .native-directory-sheet .people-top47 {position:sticky;top:0;z-index:3;}
.adult-care #booking #knot-line {z-index:1;pointer-events:none}
.adult-care #booking .flow-layout {z-index:2}
.adult-care #booking .flow-actions {z-index:20}
.adult-care #people-picker.native-directory-sheet {inset:auto 0 0;width:100%;max-width:none;height:90dvh;max-height:90dvh;margin:0;border:0;border-radius:28px 28px 0 0;padding:0;overflow:auto;transform:none;}
.adult-care .knot-tools {display:none!important}
.adult-care #people-picker #knot-line {display:none}

/* Decorative threads may enter the gutter without widening the page. */
.adult-care.lissun-landing { overflow-x: clip; }

/* Keep booking actions above scrolling answers on tablet and desktop. */
@media (min-width:701px) {
  .adult-care #booking:not(.confirmed) .flow-layout,
  .adult-care #booking:not(.confirmed) .flow-content {
    transform:none;
    animation:none;
  }
  .adult-care #booking:not(.confirmed) .flow-content {
    padding-bottom:calc(132px + env(safe-area-inset-bottom));
  }
  .adult-care #booking:not(.confirmed) #flow-screen {
    overflow:visible;
    flex:none;
  }
  .adult-care #booking:not(.confirmed) .flow-actions {
    position:fixed;
    left:calc(35% + clamp(28px,5vw,85px));
    right:clamp(28px,5vw,85px);
    bottom:0;
    margin:0;
    padding:16px 0 calc(24px + env(safe-area-inset-bottom));
    display:flex;
    align-items:center;
    gap:16px;
    z-index:20;
    background:transparent;
    border:0;
    box-shadow:none;
    backdrop-filter:none;
    pointer-events:none;
  }
  .adult-care #booking:not(.confirmed) .flow-actions > button {
    pointer-events:auto;
  }
}
@media (min-width:701px) and (max-width:1100px) {
  .adult-care #booking:not(.confirmed) .flow-layout {
    overflow-y:auto;
    overflow-x:hidden;
    min-height:0;
    scroll-padding-bottom:132px;
  }
  .adult-care #booking:not(.confirmed) .flow-content {
    height:auto;
    overflow:visible;
    flex:none;
  }
  .adult-care #booking:not(.confirmed) .flow-actions {
    left:var(--ls-gutter);
    right:var(--ls-gutter);
  }
  .adult-care #booking:not(.confirmed) .flow-actions .primary {
    flex:1;
    min-width:0;
  }
}
@media (min-width:1101px) {
  .adult-care #booking:not(.confirmed) .flow-content {
    display:block;
    min-height:0;
    overflow-y:auto;
    overflow-x:hidden;
    scroll-padding-bottom:132px;
  }
}

.adult-care .filter-actions47 {display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;}
.adult-care .filter-actions47 .clear-filters47 {margin:0;}
.adult-care .filter-actions47 .save-filters47 {border:0;border-radius:999px;background:#214e55;color:#fff;padding:10px 24px;min-height:44px;font:inherit;font-size:14px;cursor:pointer;}
.adult-care .filter-actions47 .save-filters47:focus-visible {outline:2px solid #214e55;outline-offset:3px;}

/* Desktop entry: shorter hero and supporting copy above the concern choices. */
@media (min-width:1101px) {
  .adult-care.lissun-landing .visual {
    height:calc(76svh - 120px);
    min-height:440px;
    max-height:700px;
  }
  .adult-care.lissun-landing #entry .question-row {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    gap:8px;
    text-align:left;
    margin-bottom:20px;
  }
  .adult-care.lissun-landing #entry .question-row h2 {margin:0;}
  .adult-care.lissun-landing #entry .question-row > span {
    display:block;
    flex:none;
    text-align:left;
    padding:0;
  }
}

/* Mobile quote artwork follows the viewport rather than a fixed-height box. */
@media (max-width:700px) {
  .adult-care.lissun-landing #cmo.cmo52 .cmo52-art {
    left:calc(8px - var(--ls-gutter));
    width:calc(100vw - 16px);
    max-width:none;
    height:auto;
    margin-top:calc(-64px - max(0px, (100vw - 390px) * 0.35));
    margin-bottom:0;
    object-fit:contain;
  }
  .adult-care.lissun-landing #cmo.cmo52 + #how.section {
    padding-top:24px;
  }
}

@media (min-width:1101px) {
  .adult-care.lissun-landing #entry .question-row {
    margin-bottom:36px;
  }
  .adult-care.lissun-landing #entry .question-row > span {
    font-size:14px;
    line-height:20px;
  }
  .adult-care.lissun-landing #entry .entry-controls .concern-bottom {
    margin-left:24px;
    width:calc(100% - 24px);
    min-width:0;
  }
}

@media (min-width:1101px) {
  .adult-care.lissun-landing #entry .question-row > span {
    width:auto;
    max-width:none;
    white-space:nowrap;
  }
}

/* Tablet and desktop actions form a compact bottom-right floating group. */
@media (min-width:701px) {
  .adult-care #booking:not(.confirmed) .flow-actions {
    justify-content:flex-end;
  }
  .adult-care #booking:not(.confirmed) .flow-actions .primary {
    flex:0 0 auto;
    width:clamp(240px,24vw,340px);
    min-width:0;
    max-width:calc(100% - 64px);
  }
}
