/* 共通部：ヘッダー・ドロワーメニュー・フッター・下部タブバー（A05-RD-V12 SKIN-001）。見た目の出典＝Ver.12。構造（開閉・inert・フォーカストラップ）は v2 の監査済み実装を踏襲 */
.site-head{position:sticky;top:0;z-index:30;min-height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px var(--gutter);border-bottom:1px solid var(--rule);background:rgba(255,251,252,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.logo{display:inline-flex;align-items:center;min-height:44px;font-size:clamp(17px,4.6vw,21px);font-weight:800;line-height:1.2;color:var(--accent-strong);letter-spacing:.02em}
.logo img{display:block;max-height:44px;width:auto}
.head-right{display:flex;align-items:center;gap:20px}
.head-tel{display:inline-flex;align-items:center;min-height:44px;font-size:14px;letter-spacing:.06em;font-weight:700;white-space:nowrap;color:var(--accent-strong)}
.menu-trigger{width:46px;height:46px;border-radius:50%;background:var(--pink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0}
.menu-trigger i{display:block;height:2px;width:19px;border-radius:2px;background:var(--accent-strong)}
/* ドロワー（全画面。開いている間は背後を inert） */
.menu-overlay{position:fixed;z-index:100;inset:0;background:var(--dark);color:var(--on-dark);display:flex;justify-content:center;visibility:hidden;opacity:0;transform:translateY(-12px);transition:.3s;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.menu-overlay.open{visibility:visible;opacity:1;transform:none}
.menu-content{width:min(720px,100%);margin:auto;padding:84px var(--gutter) calc(40px + env(safe-area-inset-bottom))}
.menu-overlay a{display:flex;align-items:center;gap:18px;min-height:56px;padding:10px 6px;font-size:clamp(17px,4.4vw,22px);font-weight:700;line-height:1.3;border-bottom:1px solid rgba(255,247,251,.18);color:var(--on-dark)}
.menu-overlay a span{flex:0 0 auto;min-width:2ch;font-size:12px;font-weight:700;color:#f0bfd6}
.menu-overlay a:hover,.menu-overlay a:focus-visible{background:rgba(255,247,251,.09)}
.menu-overlay a[aria-current="page"]{color:#ffd9e8}
.menu-note{margin:26px 0 0;font-size:13px;letter-spacing:.06em;color:var(--on-dark-sub)}
.menu-note a{display:inline-flex;align-items:center;min-height:44px;border:0;font-size:inherit;padding:0;color:#ffd9e8}
.menu-close-button{position:fixed;z-index:110;right:clamp(14px,5vw,40px);top:calc(env(safe-area-inset-top) + 12px);width:48px;height:48px;border:1px solid rgba(255,247,251,.5);background:var(--dark);color:var(--on-dark);border-radius:50%;font-family:Arial,sans-serif;font-size:32px;font-weight:300;line-height:1;display:none;align-items:center;justify-content:center}
.menu-overlay.open .menu-close-button{display:flex}
.menu-overlay a:focus-visible,.menu-close-button:focus-visible{outline:3px solid #ffd9e8;outline-offset:-3px}
body.menu-open{overflow:hidden}
/* ドロワーを開いている間は固定 CTA・タブバーを隠す（最後の項目が隠れないように） */
body.menu-open .bibikusu-cta,body.menu-open .bottom-nav{display:none!important}
/* フッター */
.foot{background:var(--dark);color:var(--on-dark);padding:clamp(40px,7vw,80px) var(--gutter-wide) calc(36px + var(--tabbar-h))}
.foot .art{font-size:clamp(24px,5vw,40px);font-weight:800;line-height:1.2;letter-spacing:.02em}
.foot .art em{font-style:normal;color:#ffd9e8}
.foot-links{display:flex;flex-wrap:wrap;gap:6px 24px;margin:28px 0 0;padding:0;list-style:none;font-size:14px}
.foot-links a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;color:var(--on-dark);border-bottom:1px solid transparent}
.foot-links a:hover{border-color:#ffd9e8}
.foot-legal{margin-top:30px;color:var(--on-dark-sub);font-size:13px;line-height:1.9}
/* cms-core の法令ブロック（届出番号）は自前で #666 を指定するため、暗い地では上書きして読めるようにする */
.foot-legal .bibikusu-legal,.foot-legal .bibikusu-legal *{color:var(--on-dark-sub)}
/* 共通フッターの店舗情報（dl.bibikusu-shop-info--footer）。pages/page.css の .v2-page .bibikusu-shop-info dt（旧 gold 色）が暗い地で勝つため、特異度を上げて上書き */
body .foot .foot-legal .bibikusu-shop-info dt,body .foot .foot-legal .bibikusu-shop-info dd{color:var(--on-dark-sub)}
.foot-legal a{display:inline-flex;align-items:center;min-height:44px;color:var(--on-dark);text-decoration:underline}
.bibikusu-legal__links{display:flex;flex-wrap:wrap;gap:0 22px}
.foot small{display:block;color:var(--on-dark-sub);font-size:12px;margin-top:26px;letter-spacing:.04em}
/* 下部タブバー（既定は出さない＝Q3。オプション chanko_v2_tabbar=1 のときだけ。Gate A で付き/無しを比較） */
/* 暗い面の上の小見出し（.eyebrow は明地用の色なので、暗い面のコンテキストでは明るい色に）。暗い面を持つ pages/*.css の面に対応 */
.pg-cta .eyebrow,.pf-diary .eyebrow,.bibikusu-sokuhime-deal .eyebrow,body .timeline-section .eyebrow,body .timeline-section .section-title em{color:var(--accent-on-dark)}
/* 年齢確認オーバーレイ（cms-core 出力）の配色を Ver.12 に合わせる。文言・ボタン・動作は変えない */
.bibikusu-age-gate{background:rgba(64,49,64,.94)!important}
.bibikusu-cta__label{font-size:12px!important}
.bottom-nav{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:fixed;z-index:60;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);background:rgba(255,251,252,.97);border-top:1px solid var(--rule);padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -4px 18px rgba(111,66,89,.08)}
.bottom-nav a,.bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:60px;font-size:12px;font-weight:700;color:var(--accent-strong)}
.bottom-nav a[aria-current="page"]{color:var(--accent-fill);background:var(--pink)}
.bottom-nav b{font-size:18px;line-height:1;font-weight:400}
/* 固定 CTA はプラグイン（.bibikusu-cta）が出す。電話のみ受付なのでフォーム導線は出さない（v1 と同じ裁定）。配色だけ Ver.12 に合わせる */
/* 暗い地（フッター・固定 CTA）ではフォーカスリングを明るい色に（暗い地で 3:1 以上） */
.foot a:focus-visible,.foot button:focus-visible,.bibikusu-cta a:focus-visible,.bibikusu-cta button:focus-visible{outline-color:#ffd9e8}
.bibikusu-cta{background:rgba(64,49,64,.97)!important;color:var(--on-dark)!important;border-top:1px solid var(--pink2)!important}
body.has-tabbar .bibikusu-cta{bottom:var(--tabbar-h)!important}
.bibikusu-cta__hours{color:var(--on-dark-sub)!important}
.bibikusu-cta__btn{border-radius:999px!important;background:transparent!important;border:1px solid var(--pink2)!important;color:var(--on-dark)!important}
.bibikusu-cta__btn--tel{background:var(--accent-fill)!important;border-color:var(--accent-fill)!important;color:#fff!important}
.bibikusu-cta__btn--contact{display:none!important}
@media(max-width:700px){.head-tel{display:none}}
/* 全ページ共通：単独のテキストリンクもタップ領域 44px 以上 */
.text-link{min-height:44px;align-items:flex-end}
/* 404・検索結果（.v2-page）。フォームは置かない */
.v2-page .eyebrow{margin:0 0 14px}
.v2-tel{display:inline-flex;align-items:center;min-height:44px;font-weight:700;border-bottom:1px solid var(--accent-text)}
.v2-results{list-style:none;margin:0 0 28px;padding:0;border-top:1px solid var(--line)}
.v2-results a{display:flex;flex-direction:column;justify-content:center;min-height:56px;padding:12px 4px;border-bottom:1px solid var(--line)}
.v2-results small{font-size:12px;letter-spacing:.08em;color:var(--accent-text)}
.v2-results a:hover span{text-decoration:underline;text-underline-offset:5px}
.v2-page .page-numbers{display:inline-block;min-width:44px;min-height:44px;line-height:44px;padding:0 12px;border:1px solid var(--accent-text);border-radius:var(--r-s);margin:0 2px 24px;font-size:13px;text-align:center}
.v2-page .page-numbers.current{background:var(--accent-fill);color:#fff;border-color:var(--accent-fill)}
