/* ===== グローバル chrome（全ページ共通：上部ナビ／ヘッダ／フッタ） =====
   値は v2 詳細デザインを正とする。リセット・body・背景・本文フォントは
   各ページの本文CSS（base.css / detail.css）が持ち、ここは chrome バーのみ。 */

html{min-height:100%}
body{
  min-height:100vh;
  min-height:100svh;
  display:flex;
  flex-direction:column;
}
.page-main{
  display:flex;
  flex:1 0 auto;
  flex-direction:column;
}
.page-main>.container,
.page-main>.v2-wrap{
  flex:1 0 auto;
}

/* ── 共通ヘッダ ── */
.v2-pc-header{
  display:block;
  background:#fff;
  border-bottom:1px solid #EFE7DA;
}
.v2-pc-header-inner{
  max-width:960px;margin:0 auto;padding:9px 12px;
  display:flex;align-items:center;gap:8px;
}
.v2-pc-logo{display:flex;align-items:center;gap:6px;flex:0 0 auto;margin-right:auto;text-decoration:none}
.v2-pc-logo-mark{
  width:30px;height:30px;border-radius:9px;background:#E8674C;
  display:flex;align-items:center;justify-content:center;
  box-shadow:rgba(232,103,76,0.6) 0px 5px 12px -5px;
}
.v2-pc-logo-text{
  color:#2B2925;
  font-family:'Zen Maru Gothic','Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif;
  font-weight:900;font-size:14px;white-space:nowrap;
}
.v2-pc-logo-text span{color:#E8674C}
.v2-pc-search{
  flex:1 1 0;min-width:0;display:flex;align-items:center;gap:7px;
  background:#F4EEE3;border:1px solid transparent;border-radius:11px;padding:8px 10px;
}
.v2-pc-search:focus-within{
  border-color:#E8674C;
  box-shadow:0 0 0 3px #FCE9DF;
}
.v2-pc-search svg{flex:0 0 auto}
.v2-pc-search input{
  width:100%;min-width:0;border:none;outline:none;background:transparent;
  font-family:'Zen Maru Gothic',sans-serif;font-size:13px;color:#2B2925;
}
.v2-pc-search input::placeholder{color:#B6ADA3}

/* ── 共通フッター ── */
.v2-pc-footer{
  display:block;
  padding:24px 20px;
  background:#26241F;
  color:#C9BFB2;
}
.v2-pc-footer-inner{
  max-width:960px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  text-align:center;
}
.v2-pc-footer-logo{
  color:#fff;
  font-family:'Zen Maru Gothic','Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif;
  font-size:17px;
  font-weight:900;
}
.v2-pc-footer-logo span{color:#E8674C}
.v2-pc-footer-tag{font-size:11px}

/* ── 財務指標のプチ情報モーダル（Base.astro が全ページに挿入） ── */
#hint-backdrop{
  display:none;
  position:fixed;
  inset:0;
  z-index:1000;
  background:rgba(43,41,37,.45);
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
  padding:22px;
}
#hint-backdrop.open{
  display:flex;
  align-items:center;
  justify-content:center;
}
#hint-modal{
  width:min(400px,100%);
  max-height:min(78vh,620px);
  overflow:auto;
  background:#fff;
  border-radius:18px;
  padding:28px 28px 24px;
  box-shadow:0 16px 48px -8px rgba(80,60,40,.32);
}
#hint-title{
  font-family:'Zen Maru Gothic','Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif;
  font-weight:900;
  font-size:18px;
  color:#2B2925;
  margin-bottom:14px;
}
#hint-body{
  font-size:13.5px;
  color:#6E665C;
  line-height:1.8;
}
#hint-body strong{color:#2B2925}
#hint-close{
  margin-top:20px;
  width:100%;
  border:none;
  border-radius:12px;
  background:#E8674C;
  color:#fff;
  padding:12px;
  font-family:'Zen Maru Gothic','Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif;
  font-weight:900;
  font-size:14px;
  cursor:pointer;
  transition:background .15s;
}
#hint-close:hover{background:#D95E45}

@media(min-width:900px){
  .v2-pc-header{
    position:sticky;top:0;z-index:30;
  }
  .v2-pc-header-inner{
    max-width:960px;margin:0 auto;padding:0 32px;height:66px;
    display:flex;align-items:center;gap:24px;
  }
  .v2-pc-logo{gap:9px}
  .v2-pc-logo-mark{
    width:36px;height:36px;border-radius:11px;background:#E8674C;
    display:flex;align-items:center;justify-content:center;
    box-shadow:rgba(232,103,76,0.6) 0px 5px 12px -5px;
  }
  .v2-pc-logo-text{font-family:'Zen Maru Gothic';font-weight:900;font-size:19px;color:#2B2925}
  .v2-pc-search{
    flex:1 1 0;max-width:460px;display:flex;align-items:center;gap:9px;
    background:#F4EEE3;border-radius:13px;padding:11px 15px;
  }
  .v2-pc-search input{
    flex:1;border:none;outline:none;background:transparent;
    font-family:'Zen Maru Gothic',sans-serif;font-size:13.5px;color:#2B2925;
  }
  .v2-pc-search input::placeholder{color:#B6ADA3}

  .v2-pc-footer{
    padding:30px 32px;
  }
  .v2-pc-footer-inner{
    flex-direction:row;
    justify-content:space-between;
    gap:14px;
    text-align:left;
  }
  .v2-pc-footer-tag{font-size:12px}
}
