/* littlepalette 共通メニュー: contact / login / mypage / register */
.lp-shared-toggle { display:none; }
@media (max-width:760px) {
  .topbar, .sub-header {
    position:sticky;
    top:0;
    z-index:100;
    min-height:74px;
    display:flex;
    flex-direction:row;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    padding:10px 18px;
    overflow:visible;
  }
  .topbar .logo-wrap, .sub-header .sub-logo { flex:0 0 auto; }
  .topbar .logo-wrap { width:min(170px,55vw); }
  .sub-header .sub-logo img { width:min(155px,52vw); }
  .lp-shared-toggle {
    display:flex;
    flex:0 0 auto;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    width:46px;
    height:44px;
    padding:8px;
    margin-left:auto;
    border:2px solid #222;
    border-radius:12px;
    background:#fff;
    cursor:pointer;
  }
  .lp-shared-toggle span {
    display:block;
    width:23px;
    height:2px;
    border-radius:3px;
    background:#222;
    transition:transform .2s, opacity .2s;
  }
  .lp-shared-toggle.is-open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
  .lp-shared-toggle.is-open span:nth-child(2) { opacity:0; }
  .lp-shared-toggle.is-open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
  .topbar nav#siteNavigation, .sub-header nav#siteNavigation {
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    width:100%;
    max-width:none;
    max-height:calc(100dvh - 74px);
    overflow-y:auto;
    flex-direction:column;
    flex-wrap:nowrap;
    align-items:stretch;
    gap:0;
    padding:12px 18px 20px;
    border-top:1px solid #eee;
    border-bottom:1px solid #eee;
    background:#fffdf8;
    box-shadow:0 14px 22px rgba(0,0,0,.12);
    white-space:normal;
    font-size:14px;
    z-index:101;
  }
  .topbar nav#siteNavigation.is-open, .sub-header nav#siteNavigation.is-open { display:flex; }
  .topbar nav#siteNavigation a, .sub-header nav#siteNavigation a {
    display:block;
    padding:13px 12px;
    border-bottom:1px solid #eee;
    white-space:normal;
  }
  .sub-header nav#siteNavigation .login-btn {
    margin-top:10px;
    text-align:center;
  }
}
@media (prefers-reduced-motion:reduce) {
  .lp-shared-toggle span { transition:none; }
}
