/* ============================================================
   v2-base.css — v2ページ(トップ/個別)の土台＋ヘッダー(vnav)＋フッター
   ※このCSSはv2ページのみ読み込み、親CSSは停止される前提
   ============================================================ */
:root{
  --cream:#fff6ee;--card:#fff;--ink:#43344f;--ink2:#7c6e8c;
  --coral:#ff6f9c;--coral-d:#ff4f86;--peach:#ffb3a0;--mint:#36cdb8;--sky:#76d0ff;--lemon:#ffd23f;--line:#ffe3d6;
  --shadow:0 14px 34px -16px rgba(255,111,156,.45);--shadow-soft:0 10px 26px -14px rgba(126,80,120,.30);
  --pop:"Mochiy Pop One",sans-serif;--maru:"Zen Maru Gothic",system-ui,sans-serif;
}
/* 親CSS停止後の素地 */
html,body{margin:0;padding:0}
body{
  font-family:var(--maru);color:var(--ink);line-height:1.8;-webkit-font-smoothing:antialiased;
  background-color:var(--cream);
  background-image:
    radial-gradient(circle at 12% 2%,rgba(118,208,255,.12),transparent 24%),
    radial-gradient(circle at 88% 0%,rgba(255,210,63,.14),transparent 20%),
    radial-gradient(rgba(255,179,160,.16) 1.4px,transparent 1.4px);
  background-size:auto,auto,22px 22px;background-attachment:fixed;
}
body *{box-sizing:border-box}
body img{max-width:100%;height:auto}
body a{text-decoration:none;color:inherit}
/* テンプレの外枠を素通し（親CSS無しでも中央寄せ） */
.page--wrapper,.container,.contents,#content,#wrapper,main.single-post,#post,#grid{display:block;max-width:none;width:auto;margin:0;padding:0;background:none;border:0;float:none}

/* ===== v2 ヘッダー（vnav） ===== */
.vnav{position:sticky;top:0;z-index:100;background:rgba(255,246,238,.9);backdrop-filter:blur(12px);border-bottom:2px dotted var(--line)}
.vnav-in{max-width:1120px;margin:0 auto;padding:0 18px;height:64px;display:flex;align-items:center;gap:14px}
.vnav-brand{display:flex;align-items:center;gap:10px}
.vnav-brand svg{width:40px;height:40px;flex:none}
.vnav-logo{font-family:var(--pop);font-size:20px;color:var(--ink);line-height:1}
.vnav-logo b{color:var(--coral)}
.vnav-menu{display:flex;gap:4px;margin-left:8px}
.vnav-menu a{font-weight:700;font-size:14px;color:var(--ink2);padding:7px 13px;border-radius:999px;transition:.18s}
.vnav-menu a:hover{background:#fff;color:var(--coral);box-shadow:var(--shadow-soft)}
.vnav-menu a.sale{color:#fff;background:linear-gradient(120deg,var(--coral),var(--coral-d))}
.vnav-sp{flex:1}
.vnav-search{display:flex;align-items:center;gap:8px;background:#fff;border:2px solid var(--line);border-radius:999px;padding:0 8px 0 14px}
.vnav-search input{border:0;background:none;outline:none;font-family:var(--maru);font-size:13px;color:var(--ink);padding:9px 0;width:150px}
.vnav-search button{border:0;background:none;cursor:pointer;font-size:15px;padding:6px}
@media(max-width:860px){.vnav-menu,.vnav-search{display:none}}

/* ===== v2 フッター（既存 .footer マークアップを再スタイル） ===== */
.footer{background:#fff;border-top:3px dotted var(--line);margin-top:30px;padding:30px 18px 36px;color:var(--ink2);font-family:var(--maru)}
.footer .footer--wrapper{max-width:1120px;margin:0 auto;display:flex;gap:30px;flex-wrap:wrap;align-items:flex-start}
.footer .site_logo .brand{font-family:var(--pop);font-size:18px;color:var(--ink)}
.footer .site_logo .site-description{display:block;font-size:12px;color:var(--ink2);margin-top:4px}
.footer .site_logo--img img{max-height:46px;width:auto}
.footer .footer--nav{flex:1;min-width:200px}
.footer .footer--nav ul{list-style:none;margin:0;padding:0;display:flex;gap:8px 18px;flex-wrap:wrap}
.footer .footer--nav a{color:var(--ink2);font-weight:500;font-size:13px}
.footer .footer--nav a:hover{color:var(--coral)}
.footer .footer--sns ul{display:flex;gap:12px;list-style:none;margin:10px 0 0;padding:0}
.footer .footer--sns a{color:var(--coral);font-weight:700;font-size:13px}
.footer .copyright{max-width:1120px;margin:14px auto 0;font-size:12px;color:var(--ink2);text-align:center}
.footer .copyright a{color:var(--coral)}

/* トップへ戻る */
#page_top{position:fixed;right:16px;bottom:16px;z-index:90}
#page_top #top{width:46px;height:46px;border-radius:50%;background:linear-gradient(120deg,var(--coral),var(--coral-d));box-shadow:var(--shadow);display:grid;place-items:center;cursor:pointer}
#page_top #top .top{display:block;width:12px;height:12px;border-top:3px solid #fff;border-right:3px solid #fff;transform:rotate(-45deg);margin-top:4px}

/* 個別ページ下部のセールバナー（#page_banner） */
#page_banner{max-width:1080px;margin:0 auto;padding:0 18px}
#page_banner #banner a.banner{display:block;text-align:center;font-family:var(--pop);color:#fff;background:linear-gradient(120deg,var(--coral),var(--coral-d));padding:16px;border-radius:16px;box-shadow:var(--shadow);margin-top:10px}
#page_banner .sale-rate{font-family:var(--pop)}
