/* STEP47: fixed mobile header and two-service bottom action bar.
   Desktop layout remains unchanged. The bar is present in HTML, not JS. */
.rh-mobile-dock{display:none}
@media(max-width:780px){
  html{scroll-padding-top:85px}
  body{
    padding-top:75px!important;
    padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))!important
  }
  body .unified-header{
    position:fixed!important;
    top:0;left:0;right:0;
    width:100%;
    z-index:1000;
    background:#fffefa;
    border-bottom:1px solid #d8dfd5;
    box-shadow:0 3px 13px rgba(29,59,45,.11);
    isolation:isolate
  }
  body .unified-mobile-nav{
    max-height:calc(100dvh - 160px);
    overflow-y:auto;
    overscroll-behavior:contain
  }
  .rh-mobile-dock{
    position:fixed;
    z-index:950;
    left:0;right:0;bottom:0;
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);
    gap:8px;
    margin:0;
    padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px));
    background:#fffefa;
    box-shadow:0 -5px 23px rgba(32,64,48,.14);
    border-top:1px solid rgba(178,194,174,.7);
    box-sizing:border-box
  }
  .rh-mobile-dock__item{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:1px;
    min-height:54px;
    padding:6px 8px;
    border-radius:11px;
    box-sizing:border-box;
    text-decoration:none!important;
    text-align:center;
    min-width:0;
    line-height:1.35
  }
  .rh-mobile-dock__item--counseling{
    background:#315743;
    color:#fffefa!important;
    border:1px solid #315743
  }
  .rh-mobile-dock__item--listening{
    background:#9e5c6b;
    color:#fffefa!important;
    border:1px solid #9e5c6b
  }
  .rh-mobile-dock__category{
    display:block;
    color:inherit;
    opacity:.85;
    font:500 10px/1.4 "Noto Sans JP","Yu Gothic",sans-serif;
    letter-spacing:.06em;
    white-space:nowrap
  }
  .rh-mobile-dock__name{
    display:block;
    color:inherit;
    font:700 12px/1.5 "Noto Sans JP","Yu Gothic",sans-serif;
    letter-spacing:0;
    white-space:nowrap
  }
  .rh-mobile-dock__item--listening .rh-mobile-dock__name{font-size:15px}
  .rh-mobile-dock__item:focus-visible{
    outline:3px solid #9dbba3;
    outline-offset:2px
  }
}
@media(max-width:530px){
  html{scroll-padding-top:75px}
  body{padding-top:65px!important}
}
@media(max-width:350px){
  .rh-mobile-dock{gap:6px;padding-left:6px;padding-right:6px}
  .rh-mobile-dock__item{padding-left:3px;padding-right:3px}
  .rh-mobile-dock__name{font-size:11px}
  .rh-mobile-dock__item--listening .rh-mobile-dock__name{font-size:14px}
}

/* STEP49: future services follow the two current entries without compressing the mobile buttons. */
@media(max-width:780px){
  .rh-mobile-dock[data-multi="true"]{
    grid-template-columns:none;
    grid-auto-flow:column;
    grid-auto-columns:minmax(150px,1fr);
    overflow-x:auto;
    overscroll-behavior-x:contain;
  }
  .rh-mobile-dock__item--extra{
    color:#315743!important;
    background:#e8eee6;
    border:1px solid #bfd0ba;
  }
}
