﻿/**
 * WordPress ブロックエディター出力向け補正
 * （クラスが wp-block-button 等のラッパーに付く構造差・WP コアスタイル打ち消し）
 */

/* --- レイアウト制限の解除（global-styles 停止時）---
   ※ max-w-4xl 等の Tailwind ユーティリティは潰さない */
body.otaru-winecarnival-page .otaru-winecarnival-blocks .is-layout-flow:not(.max-w-4xl),
body.otaru-winecarnival-page .otaru-winecarnival-blocks .is-layout-constrained,
body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-group-is-layout-constrained {
  max-width: none !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks .alignfull {
  width: 100% !important;
  max-width: none !important;
}

/* メインコンテンツ幅（中央寄せ） */
body.otaru-winecarnival-page .otaru-winecarnival-blocks .max-w-4xl {
  max-width: 56rem !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}

@media (min-width: 640px) {
  body.otaru-winecarnival-page .otaru-winecarnival-blocks .max-w-4xl {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }
}

/* ==================================================================
   全体：Tailwind space-y-* 互換（WP inner-container 対策・全セクション共通）
   参照 HTML: main > .max-w-4xl.space-y-12 ほか、各所の space-y-*
   ================================================================== */

/* カテゴリ切替タブ（イベント / ワインメニュー / ペアリング — 参照 HTML 準拠） */
body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .wp-block-html:has(.carnival-category-tabs),
body.otaru-winecarnival-page .otaru-winecarnival-blocks #wine-menu .wp-block-html:has(.carnival-category-tabs),
body.otaru-winecarnival-page .otaru-winecarnival-blocks #pairing .wp-block-html:has(.carnival-category-tabs),
body.otaru-winecarnival-page #event .wp-block-html:has(.carnival-category-tabs),
body.otaru-winecarnival-page #wine-menu .wp-block-html:has(.carnival-category-tabs),
body.otaru-winecarnival-page #pairing .wp-block-html:has(.carnival-category-tabs) {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body.otaru-winecarnival-page .carnival-category-tabs,
body.otaru-winecarnival-page .otaru-winecarnival-blocks .carnival-category-tabs,
body.otaru-winecarnival-page .wp-block-html > div.carnival-category-tabs {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 28rem !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0.25rem !important;
  background-color: #fff !important;
  border: 2px solid #0f2547 !important;
  border-radius: 0 !important;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
  box-sizing: border-box !important;
}

body.otaru-winecarnival-page .carnival-category-tabs--wide,
body.otaru-winecarnival-page .otaru-winecarnival-blocks .carnival-category-tabs--wide,
body.otaru-winecarnival-page .wp-block-html > div.carnival-category-tabs--wide {
  max-width: 42rem !important;
}

body.otaru-winecarnival-page .carnival-category-tabs > button,
body.otaru-winecarnival-page .otaru-winecarnival-blocks .carnival-category-tabs > button,
body.otaru-winecarnival-page .wp-block-html > div.carnival-category-tabs > button {
  flex: 1 1 0% !important;
  min-width: 0 !important;
  display: block !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0.75rem 0.25rem !important;
  border: none !important;
  border-radius: 0 !important;
  font-family: "Noto Sans JP", sans-serif !important;
  font-weight: 900 !important;
  font-size: 0.75rem !important;
  line-height: 1.25 !important;
  text-align: center !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  box-sizing: border-box !important;
}

@media (min-width: 640px) {
  body.otaru-winecarnival-page .carnival-category-tabs > button,
  body.otaru-winecarnival-page .otaru-winecarnival-blocks .carnival-category-tabs > button,
  body.otaru-winecarnival-page .wp-block-html > div.carnival-category-tabs > button {
    font-size: 0.875rem !important;
  }
}

body.otaru-winecarnival-page .carnival-category-tabs--wide > button,
body.otaru-winecarnival-page .otaru-winecarnival-blocks .carnival-category-tabs--wide > button,
body.otaru-winecarnival-page .wp-block-html > div.carnival-category-tabs--wide > button {
  font-size: 0.625rem !important;
}

@media (min-width: 640px) {
  body.otaru-winecarnival-page .carnival-category-tabs--wide > button,
  body.otaru-winecarnival-page .otaru-winecarnival-blocks .carnival-category-tabs--wide > button,
  body.otaru-winecarnival-page .wp-block-html > div.carnival-category-tabs--wide > button {
    font-size: 0.75rem !important;
  }
}

@media (min-width: 768px) {
  body.otaru-winecarnival-page .carnival-category-tabs--wide > button,
  body.otaru-winecarnival-page .otaru-winecarnival-blocks .carnival-category-tabs--wide > button,
  body.otaru-winecarnival-page .wp-block-html > div.carnival-category-tabs--wide > button {
    font-size: 0.875rem !important;
  }
}

/* 旧クラス（max-w-md / max-w-2xl のみ）向けフォールバック */
body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-html > div.flex.max-w-md:not(.carnival-category-tabs),
body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-html > div.flex.max-w-2xl:not(.carnival-category-tabs),
body.otaru-winecarnival-page .wp-block-html > div.flex.max-w-md:not(.carnival-category-tabs),
body.otaru-winecarnival-page .wp-block-html > div.flex.max-w-2xl:not(.carnival-category-tabs) {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  justify-content: center !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0.25rem !important;
  background-color: #fff !important;
  border: 2px solid #0f2547 !important;
  border-radius: 0 !important;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
  box-sizing: border-box !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-html > div.flex.max-w-md:not(.carnival-category-tabs),
body.otaru-winecarnival-page .wp-block-html > div.flex.max-w-md:not(.carnival-category-tabs) {
  max-width: 28rem !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-html > div.flex.max-w-2xl:not(.carnival-category-tabs),
body.otaru-winecarnival-page .wp-block-html > div.flex.max-w-2xl:not(.carnival-category-tabs) {
  max-width: 42rem !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-html > div.flex.max-w-md:not(.carnival-category-tabs) > button,
body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-html > div.flex.max-w-2xl:not(.carnival-category-tabs) > button,
body.otaru-winecarnival-page .wp-block-html > div.flex.max-w-md:not(.carnival-category-tabs) > button,
body.otaru-winecarnival-page .wp-block-html > div.flex.max-w-2xl:not(.carnival-category-tabs) > button {
  flex: 1 1 0% !important;
  min-width: 0 !important;
  display: block !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0.75rem 0.25rem !important;
  border: none !important;
  border-radius: 0 !important;
  font-family: "Noto Sans JP", sans-serif !important;
  font-weight: 900 !important;
  font-size: 0.75rem !important;
  line-height: 1.25 !important;
  text-align: center !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  box-sizing: border-box !important;
}

@media (min-width: 640px) {
  body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-html > div.flex.max-w-md:not(.carnival-category-tabs) > button,
  body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-html > div.flex.max-w-2xl:not(.carnival-category-tabs) > button,
  body.otaru-winecarnival-page .wp-block-html > div.flex.max-w-md:not(.carnival-category-tabs) > button,
  body.otaru-winecarnival-page .wp-block-html > div.flex.max-w-2xl:not(.carnival-category-tabs) > button {
    font-size: 0.875rem !important;
  }
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks .event-category-tab.bg-brand-darkblue,
body.otaru-winecarnival-page .otaru-winecarnival-blocks .wine-category-tab.bg-brand-darkblue,
body.otaru-winecarnival-page .otaru-winecarnival-blocks .pairing-tab-btn.bg-brand-darkblue,
body.otaru-winecarnival-page .event-category-tab.bg-brand-darkblue,
body.otaru-winecarnival-page .wine-category-tab.bg-brand-darkblue,
body.otaru-winecarnival-page .pairing-tab-btn.bg-brand-darkblue {
  background-color: #0f2547 !important;
  color: #fff !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks .event-category-tab.text-brand-darkblue,
body.otaru-winecarnival-page .otaru-winecarnival-blocks .wine-category-tab.text-brand-darkblue,
body.otaru-winecarnival-page .otaru-winecarnival-blocks .pairing-tab-btn.text-brand-darkblue,
body.otaru-winecarnival-page .event-category-tab.text-brand-darkblue,
body.otaru-winecarnival-page .wine-category-tab.text-brand-darkblue,
body.otaru-winecarnival-page .pairing-tab-btn.text-brand-darkblue {
  background-color: #fff !important;
  color: #0f2547 !important;
}

/* セクション見出しブロック（text-center グループ内は WP 段落・見出しも中央寄せ） */
body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-group.text-center > .wp-block-group__inner-container {
  align-items: center !important;
  text-align: center !important;
  width: 100% !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-group.text-center > .wp-block-group__inner-container > .wp-block-paragraph,
body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-group.text-center > .wp-block-group__inner-container > .wp-block-heading {
  width: 100% !important;
  max-width: 100% !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-paragraph.text-center,
body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-heading.text-center {
  text-align: center !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks [id="event"][class~="space-y-8"] > .wp-block-group__inner-container,
body.otaru-winecarnival-page .otaru-winecarnival-blocks [id="wine-menu"][class~="space-y-8"] > .wp-block-group__inner-container,
body.otaru-winecarnival-page .otaru-winecarnival-blocks [id="pairing"][class~="space-y-8"] > .wp-block-group__inner-container {
  align-items: stretch !important;
}

/* inner-container 内の子：幅のみリセット（タブ max-w-md は除外） */
body.otaru-winecarnival-page .wp-block-group__inner-container > .wp-block-html,
body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-group__inner-container > .wp-block-html,
body.otaru-winecarnival-page .wp-block-group__inner-container > .wp-block-columns,
body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-group__inner-container > .wp-block-columns,
body.otaru-winecarnival-page .wp-block-group__inner-container > .wp-block-group,
body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-group__inner-container > .wp-block-group,
body.otaru-winecarnival-page .wp-block-group__inner-container > .wp-block-details,
body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-group__inner-container > .wp-block-details,
body.otaru-winecarnival-page .wp-block-group__inner-container > .wp-block-buttons,
body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-group__inner-container > .wp-block-buttons,
body.otaru-winecarnival-page .wp-block-group__inner-container > .wp-block-advgb-columns,
body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-group__inner-container > .wp-block-advgb-columns {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* wp:html（NEWS / ご挨拶）ラッパー */
body.otaru-winecarnival-page .wp-block-html:has(#news),
body.otaru-winecarnival-page .wp-block-html:has(#message) {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* --- wp:group + space-y（class トークン一致 [class~="..."]） --- */
body.otaru-winecarnival-page .wp-block-group[class~="space-y-1"] > .wp-block-group__inner-container,
body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-group[class~="space-y-1"] > .wp-block-group__inner-container,
body.otaru-winecarnival-page .wp-block-group[class~="space-y-1"]:not(:has(> .wp-block-group__inner-container)) {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.25rem !important;
}

body.otaru-winecarnival-page .wp-block-group[class~="space-y-1.5"] > .wp-block-group__inner-container,
body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-group[class~="space-y-1.5"] > .wp-block-group__inner-container,
body.otaru-winecarnival-page .wp-block-group[class~="space-y-1.5"]:not(:has(> .wp-block-group__inner-container)) {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.375rem !important;
}

body.otaru-winecarnival-page .wp-block-group[class~="space-y-2"] > .wp-block-group__inner-container,
body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-group[class~="space-y-2"] > .wp-block-group__inner-container,
body.otaru-winecarnival-page .wp-block-group[class~="space-y-2"]:not(:has(> .wp-block-group__inner-container)) {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.5rem !important;
}

body.otaru-winecarnival-page .wp-block-group[class~="space-y-2.5"] > .wp-block-group__inner-container,
body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-group[class~="space-y-2.5"] > .wp-block-group__inner-container,
body.otaru-winecarnival-page .wp-block-group[class~="space-y-2.5"]:not(:has(> .wp-block-group__inner-container)) {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.625rem !important;
}

body.otaru-winecarnival-page .wp-block-group[class~="space-y-3"] > .wp-block-group__inner-container,
body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-group[class~="space-y-3"] > .wp-block-group__inner-container,
body.otaru-winecarnival-page .wp-block-group[class~="space-y-3"]:not(:has(> .wp-block-group__inner-container)) {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.75rem !important;
}

body.otaru-winecarnival-page .wp-block-group[class~="space-y-4"] > .wp-block-group__inner-container,
body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-group[class~="space-y-4"] > .wp-block-group__inner-container,
body.otaru-winecarnival-page .wp-block-group[class~="space-y-4"]:not(:has(> .wp-block-group__inner-container)) {
  display: flex !important;
  flex-direction: column !important;
  gap: 1rem !important;
}

body.otaru-winecarnival-page .wp-block-group[class~="space-y-5"] > .wp-block-group__inner-container,
body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-group[class~="space-y-5"] > .wp-block-group__inner-container,
body.otaru-winecarnival-page .wp-block-group[class~="space-y-5"]:not(:has(> .wp-block-group__inner-container)) {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.25rem !important;
}

body.otaru-winecarnival-page .wp-block-group[class~="space-y-6"] > .wp-block-group__inner-container,
body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-group[class~="space-y-6"] > .wp-block-group__inner-container,
body.otaru-winecarnival-page .wp-block-group[class~="space-y-6"]:not(:has(> .wp-block-group__inner-container)) {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.5rem !important;
}

body.otaru-winecarnival-page .wp-block-group[class~="space-y-8"] > .wp-block-group__inner-container,
body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-group[class~="space-y-8"] > .wp-block-group__inner-container,
body.otaru-winecarnival-page .wp-block-group[class~="space-y-8"]:not(:has(> .wp-block-group__inner-container)) {
  display: flex !important;
  flex-direction: column !important;
  gap: 2rem !important;
}

body.otaru-winecarnival-page .wp-block-group[class~="space-y-12"] > .wp-block-group__inner-container,
body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-group[class~="space-y-12"] > .wp-block-group__inner-container,
body.otaru-winecarnival-page .wp-block-group[class~="space-y-12"]:not(:has(> .wp-block-group__inner-container)) {
  display: flex !important;
  flex-direction: column !important;
  gap: 3rem !important;
}

/* flex flex-col / justify-between（overview シャトルバス枠など） */
body.otaru-winecarnival-page .wp-block-group.flex.flex-col > .wp-block-group__inner-container,
body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-group.flex.flex-col > .wp-block-group__inner-container {
  display: flex !important;
  flex-direction: column !important;
}

body.otaru-winecarnival-page .wp-block-group.flex.justify-between > .wp-block-group__inner-container,
body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-group.flex.justify-between > .wp-block-group__inner-container,
body.otaru-winecarnival-page .wp-block-group.justify-between > .wp-block-group__inner-container,
body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-group.justify-between > .wp-block-group__inner-container {
  justify-content: space-between !important;
}

/* wp:html 内の section / div（会場図・ステージリスト等） */
body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-html section[class~="space-y-8"],
body.otaru-winecarnival-page .otaru-winecarnival-blocks section[class~="space-y-8"],
body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-html div[class~="space-y-8"]:not(.wp-block-group),
body.otaru-winecarnival-page .otaru-winecarnival-blocks div[class~="space-y-8"]:not(.wp-block-group) {
  display: flex !important;
  flex-direction: column !important;
  gap: 2rem !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-html div[class~="space-y-6"]:not(.wp-block-group),
body.otaru-winecarnival-page .otaru-winecarnival-blocks div[class~="space-y-6"]:not(.wp-block-group) {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.5rem !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-html div[class~="space-y-2"]:not(.wp-block-group),
body.otaru-winecarnival-page .otaru-winecarnival-blocks div[class~="space-y-2"]:not(.wp-block-group),
body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-html div[class~="space-y-2.5"]:not(.wp-block-group),
body.otaru-winecarnival-page .otaru-winecarnival-blocks div[class~="space-y-2.5"]:not(.wp-block-group) {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.5rem !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-html div[class~="space-y-2.5"]:not(.wp-block-group),
body.otaru-winecarnival-page .otaru-winecarnival-blocks div[class~="space-y-2.5"]:not(.wp-block-group) {
  gap: 0.625rem !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-html div[class~="space-y-1.5"]:not(.wp-block-group),
body.otaru-winecarnival-page .otaru-winecarnival-blocks div[class~="space-y-1.5"]:not(.wp-block-group) {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.375rem !important;
}

/* メインコンテンツ列（参照 HTML: max-w-4xl space-y-12 = セクション間 3rem） */
body.otaru-winecarnival-page .otaru-winecarnival-blocks .max-w-4xl[class~="space-y-12"] > .wp-block-group__inner-container {
  display: flex !important;
  flex-direction: column !important;
  gap: 3rem !important;
  width: 100% !important;
}

/* 白カード（NEWS / イベント / ギャラリー枠）— access-map-panel は外枠のみボーダー */
body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-group.bg-white.border-2,
body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-group.bg-white.p-6:not(.access-map-panel) {
  background-color: #fff !important;
  border: 2px solid #0f2547 !important;
  border-radius: 0.75rem !important;
}

/* NEWS & TOPICS（参照 index.html 準拠・縦積みのみ補正） */
body.otaru-winecarnival-page #news > .wp-block-group__inner-container,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #news > .wp-block-group__inner-container,
body.otaru-winecarnival-page #news.wp-block-group:not(:has(> .wp-block-group__inner-container)),
body.otaru-winecarnival-page .otaru-winecarnival-blocks #news.wp-block-group:not(:has(> .wp-block-group__inner-container)) {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body.otaru-winecarnival-page #news > .wp-block-group__inner-container {
  padding: 0 !important;
  margin: 0 !important;
}

body.otaru-winecarnival-page #news .carnival-news-header,
body.otaru-winecarnival-page #news .carnival-news-divider,
body.otaru-winecarnival-page #news .carnival-news-row {
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  box-sizing: border-box !important;
}

body.otaru-winecarnival-page #news .carnival-news-divider > .wp-block-group__inner-container > .carnival-news-row + .carnival-news-row,
body.otaru-winecarnival-page #news .carnival-news-divider:not(:has(> .wp-block-group__inner-container)) > .carnival-news-row + .carnival-news-row {
  border-top: 1px solid #f1f5f9 !important;
}

body.otaru-winecarnival-page #news .carnival-news-header > span {
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
}

body.otaru-winecarnival-page #news .carnival-news-row > .wp-block-group__inner-container,
body.otaru-winecarnival-page #news .carnival-news-row:not(:has(> .wp-block-group__inner-container)) {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0.5rem !important;
  width: 100% !important;
  padding: 1rem 0 !important;
  margin: 0 !important;
}

@media (min-width: 640px) {
  body.otaru-winecarnival-page #news .carnival-news-row > .wp-block-group__inner-container,
  body.otaru-winecarnival-page #news .carnival-news-row:not(:has(> .wp-block-group__inner-container)) {
    flex-direction: row !important;
    align-items: center !important;
    gap: 1.5rem !important;
  }
}

/* ご挨拶（#message） */
body.otaru-winecarnival-page section#message,
body.otaru-winecarnival-page #message > .wp-block-group__inner-container,
body.otaru-winecarnival-page #message.wp-block-group:not(:has(> .wp-block-group__inner-container)) {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 1.5rem !important;
  text-align: center !important;
}

body.otaru-winecarnival-page section#message > div:first-child,
body.otaru-winecarnival-page #message .message-badge {
  display: inline-block !important;
  background-color: #0f2547 !important;
  color: #fff !important;
  font-size: 0.75rem !important;
  font-weight: 900 !important;
  padding: 0.375rem 1rem !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
}

body.otaru-winecarnival-page section#message > h2 {
  margin: 0 !important;
  font-size: 1.25rem !important;
  font-weight: 900 !important;
  color: #0f2547 !important;
  line-height: 1.375 !important;
  letter-spacing: 0.025em !important;
}

@media (min-width: 640px) {
  body.otaru-winecarnival-page section#message > h2 {
    font-size: 1.5rem !important;
  }
}

@media (min-width: 1024px) {
  body.otaru-winecarnival-page section#message > h2 {
    font-size: 1.875rem !important;
    line-height: 2.25rem !important;
  }
}

body.otaru-winecarnival-page section#message > div:last-child,
body.otaru-winecarnival-page #message .message-body > .wp-block-group__inner-container,
body.otaru-winecarnival-page #message .message-body:not(:has(> .wp-block-group__inner-container)) {
  display: flex !important;
  flex-direction: column !important;
  gap: 1rem !important;
  width: 100% !important;
  max-width: 100% !important;
  color: #475569 !important;
  font-weight: 700 !important;
  font-size: 0.875rem !important;
  line-height: 1.625 !important;
}

@media (min-width: 640px) {
  body.otaru-winecarnival-page section#message > div:last-child,
  body.otaru-winecarnival-page #message .message-body .wp-block-paragraph {
    font-size: 1rem !important;
  }
}

body.otaru-winecarnival-page section#message > div:last-child > p:last-child,
body.otaru-winecarnival-page #message .message-body-accent {
  color: #0f2547 !important;
  font-size: 1rem !important;
  font-weight: 900 !important;
}

@media (min-width: 640px) {
  body.otaru-winecarnival-page section#message > div:last-child > p:last-child,
  body.otaru-winecarnival-page #message .message-body-accent {
    font-size: 1.125rem !important;
  }
}

body.otaru-winecarnival-page section#message .hidden.md\:block,
body.otaru-winecarnival-page #message .message-br-md {
  display: none !important;
}

@media (min-width: 768px) {
  body.otaru-winecarnival-page section#message .hidden.md\:block,
  body.otaru-winecarnival-page #message .message-br-md {
    display: inline !important;
  }
}

body.otaru-winecarnival-page #message .border-palette-wine,
body.otaru-winecarnival-page section#message .border-palette-wine {
  border-color: #8c4362 !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery > .wp-block-group.bg-white,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery .wp-block-group.bg-white.p-6,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery .gallery-special-card {
  padding: 1.5rem !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 2rem !important;
  box-sizing: border-box !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery .gallery-special-row {
  margin: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery .gallery-special-row .wp-block-columns.gallery-item-row {
  margin: 0 !important;
}

@media (min-width: 640px) {
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery > .wp-block-group.bg-white,
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery .wp-block-group.bg-white.p-6,
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery .gallery-special-card {
    padding: 2.5rem !important;
  }
}

/* 特別イベント：白カード padding（#gallery と同等） */
body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .event-white-card,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .wp-block-group.event-white-card {
  padding: 1.5rem !important;
}

@media (min-width: 640px) {
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .event-white-card,
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .wp-block-group.event-white-card {
    padding: 2.5rem !important;
  }
}

/* --- ボタンリンク：WP コアの wp-element-button を無効化し親の Tailwind クラスを活かす --- */
body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-button {
  margin: 0;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-button:not(.pairing-shop-btn):not(.gallery-map-btn):not(.gallery-detail-btn):not(.gallery-coming-soon-btn) .wp-block-button__link,
body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-button:not(.pairing-shop-btn):not(.gallery-map-btn):not(.gallery-detail-btn):not(.gallery-coming-soon-btn) .wp-element-button:not(.pairing-wine-btn) {
  background: transparent !important;
  background-color: transparent !important;
  color: inherit !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  font: inherit !important;
  font-weight: inherit !important;
  letter-spacing: inherit !important;
  text-transform: inherit !important;
  text-decoration: none !important;
  line-height: inherit !important;
  width: 100%;
  display: block;
  text-align: inherit;
  cursor: pointer;
}

/* ナビ（sticky 直下）：親 div に付いた見た目を確定 */
body.otaru-winecarnival-page .wp-block-group.sticky .wp-block-buttons.w-full {
  display: flex !important;
  flex-wrap: nowrap !important;
  width: 100%;
  gap: 0 !important;
}

body.otaru-winecarnival-page .wp-block-group.sticky .wp-block-buttons.w-full > .wp-block-button {
  flex: 1 1 0% !important;
  min-width: 0;
  margin: 0 !important;
  text-align: center;
  border-top: 2px solid #0f2547;
  border-left: 1px solid #0f2547;
  border-right: 1px solid #0f2547;
  border-radius: 0.375rem 0.375rem 0 0;
  background-color: #fff;
  color: #0f2547;
  padding: 0.5rem 0.25rem;
  font-weight: 900;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  transition-property: color, background-color, border-color;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

body.otaru-winecarnival-page .wp-block-group.sticky .wp-block-buttons.w-full > .wp-block-button:hover {
  background-color: #a2d9ce !important;
}

body.otaru-winecarnival-page .wp-block-group.sticky .wp-block-buttons.w-full > .wp-block-button:last-child {
  border-left-width: 2px;
  border-right-width: 2px;
}

@media (min-width: 640px) {
  body.otaru-winecarnival-page .wp-block-group.sticky .wp-block-buttons.w-full > .wp-block-button {
    font-size: 0.75rem;
  }
}

@media (min-width: 768px) {
  body.otaru-winecarnival-page .wp-block-group.sticky .wp-block-buttons.w-full > .wp-block-button {
    font-size: 0.875rem;
  }
}

body.otaru-winecarnival-page .wp-block-group.sticky .wp-block-buttons.w-full > .wp-block-button .wp-block-button__link {
  padding: 0 !important;
}

/* 会場図・マップ系 fill ボタン */
body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-button.is-style-fill .wp-block-button__link {
  background-color: #0f2547 !important;
  color: #fff !important;
  padding: 0.35rem 0.65rem !important;
  border-radius: 0.25rem !important;
  font-weight: 900 !important;
  font-size: 10px !important;
  width: auto;
  display: inline-block;
}

@media (min-width: 640px) {
  body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-button.is-style-fill .wp-block-button__link {
    font-size: 0.75rem !important;
  }
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-button.is-style-fill .wp-block-button__link:hover {
  background-color: #e74c3c !important;
  color: #fff !important;
}

/* ギャラリー特別企画 — 倉庫市リンク / MAPボタン（参照 index.html） */
body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery .gallery-detail-btn .wp-block-button__link,
body.otaru-winecarnival-page .editor-styles-wrapper #gallery .gallery-detail-btn .wp-block-button__link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.375rem !important;
  padding: 0.625rem 1rem !important;
  border-radius: 0.25rem !important;
  background-color: #0f2547 !important;
  color: #fff !important;
  font-size: 0.75rem !important;
  font-weight: 900 !important;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
  text-decoration: none !important;
  transition: background-color 0.15s ease !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery .gallery-detail-btn .wp-block-button__link:hover,
body.otaru-winecarnival-page .editor-styles-wrapper #gallery .gallery-detail-btn .wp-block-button__link:hover {
  background-color: #e74c3c !important;
  color: #fff !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery .gallery-map-btn .wp-block-button__link,
body.otaru-winecarnival-page .editor-styles-wrapper #gallery .gallery-map-btn .wp-block-button__link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.375rem !important;
  padding: 0.625rem 1rem !important;
  border-radius: 0.25rem !important;
  background-color: #a2d9ce !important;
  color: #1e293b !important;
  border: 1px solid rgba(15, 37, 71, 0.2) !important;
  font-size: 0.75rem !important;
  font-weight: 900 !important;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
  text-decoration: none !important;
  transition: background-color 0.15s ease, color 0.15s ease !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery .gallery-map-btn .wp-block-button__link:hover,
body.otaru-winecarnival-page .editor-styles-wrapper #gallery .gallery-map-btn .wp-block-button__link:hover {
  background-color: #0f2547 !important;
  color: #fff !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #wine-menu .gallery-map-btn .wp-block-button__link,
body.otaru-winecarnival-page .editor-styles-wrapper #wine-menu .gallery-map-btn .wp-block-button__link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.375rem !important;
  padding: 0.625rem 1rem !important;
  border-radius: 0.25rem !important;
  background-color: #0f2547 !important;
  color: #ffffff !important;
  border: 1px solid rgba(15, 37, 71, 0.2) !important;
  font-size: 0.75rem !important;
  font-weight: 900 !important;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
  text-decoration: none !important;
  transition: background-color 0.15s ease, color 0.15s ease !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #wine-menu .gallery-map-btn .wp-block-button__link:hover,
body.otaru-winecarnival-page .editor-styles-wrapper #wine-menu .gallery-map-btn .wp-block-button__link:hover {
  background-color: #e74c3c !important;
  color: #ffffff !important;
  transform: scale(1.05);
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery .gallery-coming-soon-btn .wp-block-button__link,
body.otaru-winecarnival-page .editor-styles-wrapper #gallery .gallery-coming-soon-btn .wp-block-button__link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.375rem !important;
  padding: 0.625rem 1rem !important;
  border-radius: 0.25rem !important;
  background-color: #f1f5f9 !important;
  color: #0f2547 !important;
  border: 1px dashed rgba(15, 37, 71, 0.3) !important;
  font-size: 0.75rem !important;
  font-weight: 900 !important;
  box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.05) !important;
  cursor: default !important;
  pointer-events: none !important;
  user-select: none !important;
  text-decoration: none !important;
}

/* カラム：flex 基盤（フードカード内は carnival-food-layout-fix.css で Grid 上書き） */
body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-columns {
  display: flex !important;
  flex-wrap: wrap;
  margin-bottom: 0;
  width: 100%;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-column {
  flex: 1 1 0%;
  min-width: 0;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-columns.is-not-stacked-on-mobile.gap-6,
body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-columns.food-menu-row.gap-6 {
  gap: 1.5rem !important;
}

/* 768px未満：縦積みは各セクション専用ルールに任せる（グローバル flex-direction:column は使わない） */
@media (max-width: 767px) {
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #wine-menu .wp-block-columns.wine-menu-row > .wp-block-column:has(.hidden),
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #pairing .wp-block-columns.pairing-row > .wp-block-column:has(.hidden) {
    display: none !important;
  }

  body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-columns.is-not-stacked-on-mobile.gap-6:not(.gallery-item-row):not(.stage-item-row) > .wp-block-column:first-child .wp-block-image {
    height: auto !important;
    max-height: none !important;
    aspect-ratio: 16 / 9;
  }
}

@media (min-width: 768px) {
  body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-columns.is-not-stacked-on-mobile {
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
  }

  body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-columns.is-not-stacked-on-mobile.gap-6:not(.gallery-item-row):not(.stage-item-row):not(.event-venue-grid):not(.wine-set-grid):not(.shuttle-bus-columns):not(.wine-menu-row):not(.pairing-row):not(.map-guide-row) > .wp-block-column:first-child {
    flex: 0 0 auto !important;
    width: 12rem;
    max-width: 12rem;
  }

  body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-columns.is-not-stacked-on-mobile.gap-6:not(.gallery-item-row):not(.stage-item-row):not(.event-venue-grid):not(.wine-set-grid):not(.shuttle-bus-columns):not(.wine-menu-row):not(.pairing-row):not(.map-guide-row) > .wp-block-column:first-child .wp-block-image {
    overflow: hidden;
    border-radius: 0.75rem;
    border: 1px solid rgba(15, 37, 71, 0.1);
    background-color: #f1f5f9;
    height: 9rem;
    max-height: 9rem;
    margin: 0;
  }

  body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-columns.is-not-stacked-on-mobile.gap-6:not(.gallery-item-row):not(.stage-item-row) > .wp-block-column:first-child .wp-block-image img {
    width: 100%;
    height: 100%;
    max-width: 100% !important;
    object-fit: cover;
    object-position: center;
    display: block;
  }

  body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-columns.is-not-stacked-on-mobile.gap-6 > .wp-block-column:last-child {
    flex: 1 1 0% !important;
  }
}

@media (min-width: 1024px) {
  body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-columns.is-not-stacked-on-mobile.gap-6:not(.gallery-item-row):not(.stage-item-row):not(.event-venue-grid):not(.wine-set-grid):not(.shuttle-bus-columns):not(.wine-menu-row):not(.pairing-row):not(.map-guide-row) > .wp-block-column:first-child {
    width: 16rem;
    max-width: 16rem;
  }

  body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-columns.is-not-stacked-on-mobile.gap-6:not(.gallery-item-row):not(.stage-item-row):not(.event-venue-grid):not(.wine-set-grid):not(.shuttle-bus-columns):not(.wine-menu-row):not(.pairing-row):not(.map-guide-row) > .wp-block-column:first-child .wp-block-image {
    height: 9rem;
    max-height: 9rem;
  }
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-group.pb-6.border-b {
  padding-bottom: 1.5rem !important;
  border-bottom: 1px dashed rgba(162, 217, 206, 0.5) !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-group.pb-8.border-b-2 {
  padding-bottom: 2rem !important;
  border-bottom: 2px dashed #a2d9ce !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .wp-block-details > :not(summary),
body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery .wp-block-group.bg-white {
  background-color: #fff;
}

/* 特別イベント：セクション余白・ステージ行（参照 HTML 準拠） */
body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .event-category-tab {
  cursor: pointer;
}

/* タブパネル：本番のみ非アクティブを非表示（ブロックに hidden は付けない＝エディターで全パネル編集可） */
body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .carnival-tab-panel:not(.carnival-tab-active),
body.otaru-winecarnival-page .otaru-winecarnival-blocks #wine-menu .carnival-tab-panel:not(.carnival-tab-active),
body.otaru-winecarnival-page .otaru-winecarnival-blocks #pairing .carnival-tab-panel:not(.carnival-tab-active) {
  display: none !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .event-white-card {
  overflow: hidden;
  max-width: 100%;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .event-panel-header {
  padding-bottom: 1.5rem !important;
  border-bottom: 2px solid #a2d9ce !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .event-panel-header .wp-block-paragraph,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .event-panel-header .wp-block-heading {
  margin: 0 !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #event > .wp-block-group__inner-container > .text-center.space-y-2 .wp-block-paragraph,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #event > .wp-block-group__inner-container > .text-center.space-y-2 .wp-block-heading {
  margin: 0 !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .event-attention {
  width: 100% !important;
  box-sizing: border-box !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .event-attention .space-y-2 {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.5rem !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .event-attention .flex.items-center {
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  flex-wrap: wrap !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .event-attention h4 {
  margin: 0 !important;
  font-weight: 900 !important;
  color: #0f2547 !important;
  font-size: 0.875rem !important;
  line-height: 1.4 !important;
}

@media (min-width: 640px) {
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .event-attention h4 {
    font-size: 1rem !important;
  }
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .event-attention p {
  margin: 0 !important;
}

/* #event ステージリスト（参照 index.html — HTML ブロック内 .stage-item） */
body.otaru-winecarnival-page #event .event-stage-list,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .event-stage-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 2rem !important;
  width: 100% !important;
}

body.otaru-winecarnival-page #event .event-stage-list .stage-item,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .event-stage-list .stage-item {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.5rem !important;
  padding-bottom: 1.5rem !important;
  border-bottom: 1px dashed rgba(162, 217, 206, 0.5) !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

@media (min-width: 768px) {
  body.otaru-winecarnival-page #event .event-stage-list .stage-item,
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .event-stage-list .stage-item {
    flex-direction: row !important;
    align-items: flex-start !important;
  }
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .event-stage-list .stage-item.wp-block-group > .wp-block-group__inner-container {
  position: static !important;
  width: 100% !important;
  height: auto !important;
  overflow: visible !important;
  border: none !important;
  border-radius: 0 !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

body.otaru-winecarnival-page #event .event-stage-list .stage-item > div:first-child:not(.wp-block-group__inner-container),
body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .event-stage-list .stage-item > div:first-child:not(.wp-block-group__inner-container) {
  position: relative !important;
  flex-shrink: 0 !important;
  width: 100% !important;
  height: 11rem !important;
  overflow: hidden !important;
  border-radius: 0.75rem !important;
  border: 1px solid rgba(15, 37, 71, 0.1) !important;
  background-color: #f1f5f9 !important;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
}

body.otaru-winecarnival-page #event .event-stage-list .stage-item > div:first-child.bg-\[\#f35a75\],
body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .event-stage-list .stage-item > div:first-child.bg-\[\#f35a75\] {
  background-color: #f35a75 !important;
}

@media (min-width: 768px) {
  body.otaru-winecarnival-page #event .event-stage-list .stage-item > div:first-child:not(.wp-block-group__inner-container),
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .event-stage-list .stage-item > div:first-child:not(.wp-block-group__inner-container) {
    width: 12rem !important;
    height: 9rem !important;
  }
}

@media (min-width: 1024px) {
  body.otaru-winecarnival-page #event .event-stage-list .stage-item > div:first-child:not(.wp-block-group__inner-container),
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .event-stage-list .stage-item > div:first-child:not(.wp-block-group__inner-container) {
    width: 16rem !important;
  }
}

body.otaru-winecarnival-page #event .event-stage-list .stage-item img,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .event-stage-list .stage-item img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
}

body.otaru-winecarnival-page #event .event-stage-list .stage-item:not(.wp-block-group) img,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .event-stage-list .stage-item:not(.wp-block-group) img {
  object-fit: cover !important;
  object-position: center !important;
}

body.otaru-winecarnival-page #event .event-stage-list .stage-item .object-contain,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .event-stage-list .stage-item .object-contain,
body.otaru-winecarnival-page #event .event-stage-list .stage-item .object-contain img,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .event-stage-list .stage-item .object-contain img {
  object-fit: contain !important;
}

body.otaru-winecarnival-page #event .event-stage-list .stage-item > div:last-child,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .event-stage-list .stage-item > div:last-child {
  flex: 1 1 0% !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.625rem !important;
}

body.otaru-winecarnival-page #event .event-stage-list .stage-item h4,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .event-stage-list .stage-item h4 {
  margin: 0 !important;
  font-weight: 900 !important;
  color: #0f2547 !important;
  font-size: 1rem !important;
  line-height: 1.4 !important;
}

@media (min-width: 640px) {
  body.otaru-winecarnival-page #event .event-stage-list .stage-item h4,
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .event-stage-list .stage-item h4 {
    font-size: 1.125rem !important;
  }
}

body.otaru-winecarnival-page #event .event-stage-list .stage-item p,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .event-stage-list .stage-item p {
  margin: 0 !important;
  font-size: 0.75rem !important;
  line-height: 1.625 !important;
  font-weight: 700 !important;
  color: #64748b !important;
}

@media (min-width: 640px) {
  body.otaru-winecarnival-page #event .event-stage-list .stage-item p,
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .event-stage-list .stage-item p {
    font-size: 0.875rem !important;
  }
}

body.otaru-winecarnival-page #event .event-stage-list .stage-item span.bg-palette-yellow,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .event-stage-list .stage-item span.bg-palette-yellow {
  display: inline-block !important;
  background-color: #fef5c8 !important;
  color: #0f2547 !important;
  font-weight: 900 !important;
  font-size: 0.75rem !important;
  line-height: 1 !important;
  padding: 0.375rem 0.75rem !important;
  border-radius: 0.25rem !important;
  border: 1px solid rgba(15, 37, 71, 0.1) !important;
  flex-shrink: 0 !important;
  text-align: center !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .wp-block-html,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .event-stage-list {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .wp-block-columns.event-venue-grid {
  display: flex !important;
  flex-wrap: wrap;
  gap: 1.5rem !important;
  align-items: stretch !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .wp-block-columns.event-venue-grid > .wp-block-column {
  flex: 1 1 100%;
  min-width: 0;
  margin: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .event-venue-card {
  flex: 1 1 auto !important;
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}

@media (min-width: 768px) {
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .wp-block-columns.event-venue-grid.is-not-stacked-on-mobile {
    flex-wrap: nowrap;
  }

  body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .wp-block-columns.event-venue-grid.is-not-stacked-on-mobile > .wp-block-column,
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .wp-block-columns.event-venue-grid.is-not-stacked-on-mobile > .wp-block-column:first-child {
    flex: 1 1 0% !important;
    width: auto !important;
    max-width: none !important;
  }
}

/* 会場アトラクションカード（参照 HTML 準拠） */
body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .event-venue-card > .wp-block-group__inner-container {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  gap: 0.75rem !important;
  height: 100% !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .event-venue-card .wp-block-heading.text-wine,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .event-venue-card h4.text-wine {
  color: #8c4362 !important;
  font-weight: 900 !important;
  font-size: 0.875rem !important;
  line-height: 1.4 !important;
  margin: 0 !important;
}

@media (min-width: 640px) {
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .event-venue-card .wp-block-heading.text-wine,
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .event-venue-card h4.text-wine {
    font-size: 1rem !important;
  }
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .event-venue-card .wp-block-heading.font-black.text-brand-darkblue,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .event-venue-card h4.event-venue-list {
  color: #0f2547 !important;
  font-weight: 900 !important;
  font-size: 0.875rem !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}

@media (min-width: 640px) {
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .event-venue-card h4.event-venue-list {
    font-size: 1rem !important;
  }
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .event-venue-card .text-xs.text-slate-600 {
  color: #475569 !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  line-height: 1.625 !important;
  margin: 0 !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .event-venue-map-footer {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  padding-top: 0.5rem !important;
  margin-top: auto !important;
  border-top: 1px dashed rgba(162, 217, 206, 0.4) !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .event-venue-map-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.375rem !important;
  padding: 0.25rem 0.625rem !important;
  background-color: #0f2547 !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  border-radius: 0.25rem !important;
  text-decoration: none !important;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
  transition: background-color 0.15s, transform 0.15s !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .event-venue-map-btn:hover {
  background-color: #f35a75 !important;
  transform: scale(1.05);
}

/* グルメ出店フードメニュー */
body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-menu-shell,
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-menu-shell {
  background-color: #ffffff !important;
  border: 2px solid #0f2547 !important;
  border-radius: 0.75rem !important;
  box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05) !important;
  padding: 1rem !important;
  box-sizing: border-box !important;
}

@media (min-width: 640px) {
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-menu-shell,
  body.otaru-winecarnival-page .editor-styles-wrapper #food .food-menu-shell {
    padding: 1.5rem !important;
  }
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-menu-shell .advgb-columns.layout-100 > .wp-block-advgb-column > .advgb-column-inner,
body.otaru-winecarnival-page #food .food-menu-shell .advgb-columns.layout-100 > .wp-block-advgb-column > .advgb-column-inner,
.editor-styles-wrapper #food .food-menu-shell .advgb-columns.layout-100 > .wp-block-advgb-column > .advgb-column-inner {
  width: 100% !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 1rem !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
}

/* フードメニュー：2店舗行（wp:columns / wp:advgb-columns） */
body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-menu-shell .wp-block-columns.food-menu-row,
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-menu-shell .wp-block-columns.food-menu-row,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-menu-shell .wp-block-advgb-columns.food-menu-row > .advgb-columns-container > .advgb-columns {
  gap: 1.5rem !important;
  align-items: stretch !important;
  width: 100% !important;
}

@media (max-width: 767px) {
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-menu-shell .wp-block-columns.food-menu-row,
  body.otaru-winecarnival-page .editor-styles-wrapper #food .food-menu-shell .wp-block-columns.food-menu-row,
  body.otaru-winecarnival-page #food .food-menu-shell .wp-block-columns.food-menu-row {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 1.5rem !important;
    row-gap: 1.5rem !important;
  }

  body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-menu-shell .wp-block-columns.food-menu-row > .wp-block-column,
  body.otaru-winecarnival-page .editor-styles-wrapper #food .food-menu-shell .wp-block-columns.food-menu-row > .wp-block-column,
  body.otaru-winecarnival-page #food .food-menu-shell .wp-block-columns.food-menu-row > .wp-block-column {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
}

@media (min-width: 768px) {
  /*
   * 2店舗行: 親は Grid 1fr 1fr（= 各セルが行の 50%）。
   * ブロックの flex-basis:50% / width:50% は「セル内の 50%」と解釈され 25% になる。
   * → 子は width:100% でセルいっぱい（= 行の 50%）にする。
   */
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-menu-shell .wp-block-columns.food-menu-row > .wp-block-column,
  body.otaru-winecarnival-page .editor-styles-wrapper #food .food-menu-shell .wp-block-columns.food-menu-row > .wp-block-column,
  body.otaru-winecarnival-page #food .food-menu-shell .wp-block-columns.food-menu-row > .wp-block-column {
    flex: unset !important;
    flex-basis: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-menu-shell .wp-block-columns.food-menu-row:not(:last-child),
body.otaru-winecarnival-page #food .food-menu-shell .wp-block-columns.food-menu-row:not(:last-child),
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-menu-shell .wp-block-columns.food-menu-row:not(:last-child) {
  margin-bottom: 1.5rem !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-menu-shell .wp-block-columns.food-menu-row > .wp-block-column,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-menu-shell .food-menu-row-col {
  flex: unset !important;
  flex-basis: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-menu-shell .food-menu-row-col > .advgb-column-inner,
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-menu-shell .food-menu-row-col > .advgb-column-inner {
  width: 100% !important;
  height: 100% !important;
  box-sizing: border-box !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  background: transparent !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-menu-shell .wp-block-advgb-columns.food-menu-row {
  width: 100% !important;
  margin-bottom: 1rem !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-menu-shell .wp-block-advgb-columns.food-menu-row:last-child {
  margin-bottom: 0 !important;
}

/* カード内（Map / テキスト）— ブロックの 20% / 80% 幅を維持 */
body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card .wp-block-columns.food-card-inner-row,
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-card .wp-block-columns.food-card-inner-row,
body.otaru-winecarnival-page #food .food-card .wp-block-columns.food-card-inner-row {
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  gap: 0.75rem !important;
  width: 100% !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card .wp-block-columns.food-card-inner-row > .wp-block-column:first-child,
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-card .wp-block-columns.food-card-inner-row > .wp-block-column:first-child,
body.otaru-winecarnival-page #food .food-card .wp-block-columns.food-card-inner-row > .wp-block-column:first-child {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 5px !important;
  flex: 0 0 20% !important;
  max-width: 20% !important;
  min-width: 0 !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card .wp-block-columns.food-card-inner-row > .wp-block-column:last-child,
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-card .wp-block-columns.food-card-inner-row > .wp-block-column:last-child,
body.otaru-winecarnival-page #food .food-card .wp-block-columns.food-card-inner-row > .wp-block-column:last-child {
  flex: 1 1 80% !important;
  min-width: 0 !important;
  padding-right: 0.75rem !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card-inner-row > .wp-block-column:first-child > .gb-text,
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-card-inner-row > .wp-block-column:first-child > .gb-text {
  box-sizing: border-box !important;
  text-align: center !important;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
  text-decoration: none !important;
  width: auto !important;
  max-width: 100% !important;
}

/* MAPボタン（左カラム先頭 .gb-text）— 縦積み */
body.otaru-winecarnival-page #food .food-card-inner-row > .wp-block-column:first-child > .gb-text:first-child,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card-inner-row > .wp-block-column:first-child > .gb-text:first-child,
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-card-inner-row > .wp-block-column:first-child > .gb-text:first-child {
  line-height: 1 !important;
  box-sizing: border-box !important;
}

body.otaru-winecarnival-page #food .food-card-inner-row > .wp-block-column:first-child > .gb-text > span,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card-inner-row > .wp-block-column:first-child > .gb-text > span,
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-card-inner-row > .wp-block-column:first-child > .gb-text > span {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}

body.otaru-winecarnival-page #food .food-card-inner-row > .wp-block-column:first-child > .gb-text > br,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card-inner-row > .wp-block-column:first-child > .gb-text > br,
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-card-inner-row > .wp-block-column:first-child > .gb-text > br {
  display: block !important;
  margin: 0 !important;
  line-height: 0 !important;
  content: "" !important;
}

body.otaru-winecarnival-page #food .food-card-inner-row > .wp-block-column:first-child > .gb-text > span:first-child:has(+ br),
body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card-inner-row > .wp-block-column:first-child > .gb-text > span:first-child:has(+ br),
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-card-inner-row > .wp-block-column:first-child > .gb-text > span:first-child:has(+ br),
body.otaru-winecarnival-page #food .food-card-inner-row > .wp-block-column:first-child > .gb-text .food-map-label,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card-inner-row > .wp-block-column:first-child > .gb-text .food-map-label,
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-card-inner-row > .wp-block-column:first-child > .gb-text .food-map-label {
  font-size: 9px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  opacity: 0.8 !important;
  text-transform: uppercase !important;
}

body.otaru-winecarnival-page #food .food-card-inner-row > .wp-block-column:first-child > .gb-text > br + span,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card-inner-row > .wp-block-column:first-child > .gb-text > br + span,
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-card-inner-row > .wp-block-column:first-child > .gb-text > br + span,
body.otaru-winecarnival-page #food .food-card-inner-row > .wp-block-column:first-child > .gb-text .food-map-num,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card-inner-row > .wp-block-column:first-child > .gb-text .food-map-num,
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-card-inner-row > .wp-block-column:first-child > .gb-text .food-map-num {
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card > .wp-block-advgb-columns .layout-15-45 > .wp-block-advgb-column:first-child {
  flex: 0 0 2.75rem !important;
  width: 2.75rem !important;
  max-width: 2.75rem !important;
  min-width: 2.75rem !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card > .wp-block-advgb-columns .layout-15-45 > .wp-block-advgb-column:last-child {
  flex: 1 1 0% !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
}

/* WPコア columns（781px以下）の flex-basis:100% 上書き — カード内 Map|店舗名は常に横並び */
@media (max-width: 781px) {
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card .wp-block-columns.food-card-inner-row,
  body.otaru-winecarnival-page .editor-styles-wrapper #food .food-card .wp-block-columns.food-card-inner-row,
  body.otaru-winecarnival-page #food .food-card .wp-block-columns.food-card-inner-row {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    gap: 0.75rem !important;
  }

  body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card .wp-block-columns.food-card-inner-row > .wp-block-column,
  body.otaru-winecarnival-page .editor-styles-wrapper #food .food-card .wp-block-columns.food-card-inner-row > .wp-block-column,
  body.otaru-winecarnival-page #food .food-card .wp-block-columns.food-card-inner-row > .wp-block-column {
    flex-grow: 0 !important;
    margin-left: 0 !important;
  }

  body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card .wp-block-columns.food-card-inner-row > .wp-block-column:first-child,
  body.otaru-winecarnival-page .editor-styles-wrapper #food .food-card .wp-block-columns.food-card-inner-row > .wp-block-column:first-child,
  body.otaru-winecarnival-page #food .food-card .wp-block-columns.food-card-inner-row > .wp-block-column:first-child {
    flex: 0 0 20% !important;
    max-width: 20% !important;
  }

  body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card .wp-block-columns.food-card-inner-row > .wp-block-column:last-child,
  body.otaru-winecarnival-page .editor-styles-wrapper #food .food-card .wp-block-columns.food-card-inner-row > .wp-block-column:last-child,
  body.otaru-winecarnival-page #food .food-card .wp-block-columns.food-card-inner-row > .wp-block-column:last-child {
    flex: 1 1 80% !important;
    min-width: 0 !important;
  }
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card .wp-block-advgb-column > .advgb-column-inner {
  border: none !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  padding-left: 0 !important;
  box-sizing: border-box !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card .wp-block-advgb-columns .wp-block-advgb-column:last-child > .advgb-column-inner {
  padding-right: 20px !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card-left,
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-card-left {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 5px !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card-left .food-map-btn-wrap,
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-card-left .food-map-btn-wrap,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card-left .wp-block-advgb-button:has(.food-map-label),
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-card-left .wp-block-advgb-button:has(.food-map-label) {
  margin-bottom: 0 !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card-left .food-map-btn-wrap a,
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-card-left .food-map-btn-wrap a,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card-left .food-type-btn-wrap a,
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-card-left .food-type-btn-wrap a {
  text-decoration: none !important;
}

body.otaru-winecarnival-page #food .food-card-left > .wp-block-group__inner-container,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card-left > .wp-block-group__inner-container,
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-card-left > .wp-block-group__inner-container {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 0.375rem !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card-left .food-map-btn-native br,
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-card-left .food-map-btn-native br {
  display: none !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card-left .food-map-btn-native,
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-card-left .food-map-btn-native,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card-left .wp-block-advgb-button:has(.food-map-label) .wp-block-advgb-button_link,
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-card-left .wp-block-advgb-button:has(.food-map-label) .wp-block-advgb-button_link {
  display: inline-flex !important;
  box-sizing: border-box !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  width: 2.75rem !important;
  height: 2.75rem !important;
  min-width: 2.75rem !important;
  max-width: 2.75rem !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0.25rem !important;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
  background-color: #0f2547 !important;
  color: #fff !important;
  transition: background-color 0.15s ease, transform 0.15s ease !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card-left .food-map-btn-native:hover,
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-card-left .food-map-btn-native:hover,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card-left .wp-block-advgb-button:has(.food-map-label) .wp-block-advgb-button_link:hover,
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-card-left .wp-block-advgb-button:has(.food-map-label) .wp-block-advgb-button_link:hover {
  background-color: #e74c3c !important;
  transform: scale(1.05) !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card-left .food-type-btn-native:has(.food-type-label--tent),
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-card-left .food-type-btn-native:has(.food-type-label--tent),
body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card-left .aligncenter:has(.food-type-label--tent) .wp-block-advgb-button_link,
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-card-left .aligncenter:has(.food-type-label--tent) .wp-block-advgb-button_link {
  background-color: #a2d9ce !important;
  color: #1e293b !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card-left .food-type-btn-native:has(.food-type-label--tent):hover,
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-card-left .food-type-btn-native:has(.food-type-label--tent):hover,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card-left .aligncenter:has(.food-type-label--tent) .wp-block-advgb-button_link:hover,
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-card-left .aligncenter:has(.food-type-label--tent) .wp-block-advgb-button_link:hover {
  background-color: #8fc9be !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card-left .food-type-btn-native:has(.food-type-label--kitchen),
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-card-left .food-type-btn-native:has(.food-type-label--kitchen),
body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card-left .aligncenter:has(.food-type-label--kitchen) .wp-block-advgb-button_link,
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-card-left .aligncenter:has(.food-type-label--kitchen) .wp-block-advgb-button_link {
  background-color: #7eb8da !important;
  color: #fff !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card-left .food-type-btn-native:has(.food-type-label--kitchen):hover,
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-card-left .food-type-btn-native:has(.food-type-label--kitchen):hover,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card-left .aligncenter:has(.food-type-label--kitchen) .wp-block-advgb-button_link:hover,
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-card-left .aligncenter:has(.food-type-label--kitchen) .wp-block-advgb-button_link:hover {
  background-color: #6aa8cc !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card {
  width: 100% !important;
  height: 100% !important;
  box-sizing: border-box !important;
  padding: 1rem !important;
  border: 1px solid rgba(15, 37, 71, 0.1) !important;
  border-radius: 0.75rem !important;
  background-color: rgba(255, 255, 255, 0.5) !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card:hover {
  background-color: #f8fafc !important;
}

/* MAP / テント / キッチン — タイプラベルは小さく（PublishPress Button の textSize 上書き） */
body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card-left .food-type-btn-native,
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-card-left .food-type-btn-native,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card-left .aligncenter:has(.food-type-label) .wp-block-advgb-button_link,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card-left .wp-block-advgb-button.aligncenter:has(.food-type-label) .wp-block-advgb-button_link,
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-card-left .aligncenter:has(.food-type-label) .wp-block-advgb-button_link,
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-card-left .wp-block-advgb-button.aligncenter:has(.food-type-label) .wp-block-advgb-button_link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 8px !important;
  line-height: 1.15 !important;
  padding: 2px 4px !important;
  width: 2.75rem !important;
  max-width: 2.75rem !important;
  box-sizing: border-box !important;
  white-space: normal !important;
  text-align: center !important;
  border-radius: 0.25rem !important;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-type-label,
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-type-label {
  font-size: 8px !important;
  line-height: 1.15 !important;
  font-weight: 900 !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card-left .food-type-btn-wrap,
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-card-left .food-type-btn-wrap,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card-left .aligncenter:has(.food-type-label),
body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card-left .wp-block-advgb-button.aligncenter:has(.food-type-label),
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-card-left .aligncenter:has(.food-type-label),
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-card-left .wp-block-advgb-button.aligncenter:has(.food-type-label) {
  flex: 0 0 auto !important;
  align-self: center !important;
  height: auto !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card-left,
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-card-left {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  align-self: flex-start !important;
  flex: 0 0 auto !important;
  gap: 5px !important;
  background: transparent !important;
}

/* Snow Monkey Blocks — MAP / テント（food-card-left グループなし） */
body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card-map-btns,
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-card-map-btns {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  align-self: flex-start !important;
  flex: 0 0 auto !important;
  gap: 5px !important;
  margin: 0 !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card-map-btns .food-map-btn-smb,
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-card-map-btns .food-map-btn-smb,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card-map-btns .food-type-btn-smb,
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-card-map-btns .food-type-btn-smb {
  margin: 0 !important;
  width: auto !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-map-btn-smb .smb-btn,
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-map-btn-smb .smb-btn {
  display: inline-flex !important;
  box-sizing: border-box !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  width: 2.75rem !important;
  height: 2.75rem !important;
  min-width: 2.75rem !important;
  max-width: 2.75rem !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0.25rem !important;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
  background-color: #0f2547 !important;
  color: #fff !important;
  text-decoration: none !important;
  transition: background-color 0.15s ease, transform 0.15s ease !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-map-btn-smb .smb-btn:hover,
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-map-btn-smb .smb-btn:hover {
  background-color: #e74c3c !important;
  transform: scale(1.05) !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-map-btn-smb .smb-btn__label,
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-map-btn-smb .smb-btn__label {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-type-btn-smb .smb-btn,
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-type-btn-smb .smb-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 8px !important;
  line-height: 1.15 !important;
  padding: 2px 4px !important;
  width: 2.75rem !important;
  min-width: 2.75rem !important;
  max-width: 2.75rem !important;
  height: auto !important;
  min-height: 0 !important;
  box-sizing: border-box !important;
  white-space: normal !important;
  text-align: center !important;
  border-radius: 0.25rem !important;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
  text-decoration: none !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-type-btn-smb.food-type-btn-smb--tent .smb-btn,
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-type-btn-smb.food-type-btn-smb--tent .smb-btn,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-type-btn-smb:has(.food-type-label--tent) .smb-btn,
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-type-btn-smb:has(.food-type-label--tent) .smb-btn {
  background-color: #a2d9ce !important;
  color: #1e293b !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-type-btn-smb:has(.food-type-label--tent) .smb-btn:hover,
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-type-btn-smb:has(.food-type-label--tent) .smb-btn:hover {
  background-color: #8fc9be !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-type-btn-smb:has(.food-type-label--kitchen) .smb-btn,
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-type-btn-smb:has(.food-type-label--kitchen) .smb-btn {
  background-color: #7eb8da !important;
  color: #fff !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-type-btn-smb:has(.food-type-label--kitchen) .smb-btn:hover,
body.otaru-winecarnival-page .editor-styles-wrapper #food .food-type-btn-smb:has(.food-type-label--kitchen) .smb-btn:hover {
  background-color: #6aa8cc !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card-title,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #food h3.food-card-title {
  border-bottom: 2px solid #a2d9ce !important;
  padding-bottom: 0.25rem !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card-title h3,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #food h3.food-card-title {
  margin: 0 !important;
  font-weight: 900 !important;
  color: #0f2547 !important;
  font-size: 0.875rem !important;
  letter-spacing: 0.05em !important;
}

@media (min-width: 640px) {
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card-title h3,
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #food h3.food-card-title {
    font-size: 1rem !important;
  }
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card-menu .text-palette-wine,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card-menu span:first-child {
  color: #8c4362 !important;
  font-size: 9px !important;
  font-weight: 900 !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card-menu span:last-child,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-card-menu .food-menu-text,
body.otaru-winecarnival-page #food-container .pt-1 span:last-child {
  color: #0f2547 !important;
  font-weight: 700 !important;
  font-size: 11px !important;
  background-color: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #wine-menu .wine-menu-tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.375rem !important;
  margin: 0 !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #wine-menu .wine-menu-card,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #wine-menu .wp-block-group.wine-menu-card {
  box-sizing: border-box !important;
  width: 100% !important;
  height: 100% !important;
  padding: 1rem !important;
  border: 1px solid #f1f5f9 !important;
  border-radius: 0.75rem !important;
  background-color: rgba(248, 250, 252, 0.3) !important;
  display: flex !important;
  flex-direction: column !important;
  transition: background-color 0.15s ease !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #wine-menu .wine-menu-card:hover,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #wine-menu .wp-block-group.wine-menu-card:hover {
  background-color: #f8fafc !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #wine-menu .wine-menu-card > .wp-block-group__inner-container,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #wine-menu .wp-block-group.wine-menu-card > .wp-block-group__inner-container {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  gap: 0 !important;
  height: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #wine-menu .wine-menu-card__body > .wp-block-group__inner-container {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.5rem !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #wine-menu .wine-menu-card .wp-block-heading {
  margin: 0 !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #wine-menu .wine-menu-card__price {
  margin-top: 0.75rem !important;
  padding-top: 0.5rem !important;
  border-top: 1px dashed #e2e8f0 !important;
  display: flex !important;
  justify-content: flex-end !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #wine-menu .wine-set-card,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #wine-menu .wp-block-group.wine-set-card {
  box-sizing: border-box !important;
  width: 100% !important;
  height: 100% !important;
  padding: 1.5rem !important;
  border: 1px solid #0f2547 !important;
  border-radius: 0.5rem !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  min-height: 220px !important;
  position: relative !important;
  overflow: hidden !important;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #wine-menu .wine-set-card > .wp-block-group__inner-container {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  gap: 0.5rem !important;
  height: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #overview .wp-block-group.bg-palette-yellow {
  background-color: #fff7b0 !important;
  border: 2px solid #0f2547 !important;
  border-radius: 0.75rem !important;
}

/* 開催概要セクション: 常に縦積み（本番に旧columnsが残っても横並び化させない） */
body.otaru-winecarnival-page .otaru-winecarnival-blocks #overview .wp-block-columns {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.5rem !important;
}
body.otaru-winecarnival-page .otaru-winecarnival-blocks #overview .wp-block-columns > .wp-block-column {
  flex: 1 1 100% !important;
  width: 100% !important;
}

/* ワインギャラリー特別企画（768px以上: 横並び / 未満: 縦積み） */
@media (max-width: 767px) {
  body.otaru-winecarnival-page #gallery .gallery-item-row,
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery .gallery-item-row,
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery .wp-block-columns.is-not-stacked-on-mobile.gap-6,
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery .gallery-item-row.is-not-stacked-on-mobile {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 1.5rem !important;
  }

  body.otaru-winecarnival-page #gallery .gallery-item-row > .wp-block-column,
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery .gallery-item-row > .wp-block-column,
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery .gallery-item-row.is-not-stacked-on-mobile > .wp-block-column,
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery .wp-block-columns.is-not-stacked-on-mobile.gap-6 > .wp-block-column {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.otaru-winecarnival-page #gallery .gallery-item-row > .wp-block-column:first-child,
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery .gallery-item-row > .wp-block-column:first-child,
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery .gallery-item-row.is-not-stacked-on-mobile > .wp-block-column:first-child {
    display: block !important;
  }

  body.otaru-winecarnival-page #gallery .gallery-special-img,
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery .gallery-special-img,
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery .gallery-item-row.is-not-stacked-on-mobile > .wp-block-column:first-child .gallery-special-img {
    width: 100% !important;
    max-width: 100% !important;
  }
}

@media (min-width: 768px) {
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery .wp-block-columns.is-not-stacked-on-mobile.gap-6,
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery .gallery-item-row.is-not-stacked-on-mobile {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    gap: 1.5rem !important;
  }

  body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery .wp-block-columns.is-not-stacked-on-mobile.gap-6 > .wp-block-column:first-child,
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery .gallery-item-row.is-not-stacked-on-mobile > .wp-block-column:first-child {
    flex: 0 0 14rem !important;
    width: 14rem !important;
    max-width: 14rem !important;
    min-width: 0 !important;
    align-self: flex-start !important;
    display: block !important;
  }

  body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery .wp-block-columns.is-not-stacked-on-mobile.gap-6 > .wp-block-column:first-child .gallery-special-img,
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery .gallery-item-row.is-not-stacked-on-mobile > .wp-block-column:first-child .gallery-special-img {
    width: 14rem !important;
    max-width: 14rem !important;
  }

  body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery .wp-block-columns.is-not-stacked-on-mobile.gap-6 > .wp-block-column:last-child,
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery .gallery-item-row.is-not-stacked-on-mobile > .wp-block-column:last-child {
    flex: 1 1 0% !important;
    min-width: 0 !important;
  }
}

@media (min-width: 1024px) {
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery .wp-block-columns.is-not-stacked-on-mobile.gap-6 > .wp-block-column:first-child,
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery .gallery-item-row.is-not-stacked-on-mobile > .wp-block-column:first-child {
    flex: 0 0 18rem !important;
    width: 18rem !important;
    max-width: 18rem !important;
  }

  body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery .wp-block-columns.is-not-stacked-on-mobile.gap-6 > .wp-block-column:first-child .gallery-special-img,
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery .gallery-item-row.is-not-stacked-on-mobile > .wp-block-column:first-child .gallery-special-img {
    width: 18rem !important;
    max-width: 18rem !important;
  }
}

/* ギャラリー画像（共通） */
body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery .wp-block-columns.is-not-stacked-on-mobile.gap-6 > .wp-block-column:first-child .gallery-special-img-wrap,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery .gallery-item-row.is-not-stacked-on-mobile > .wp-block-column:first-child .gallery-special-img-wrap,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery .wp-block-columns.is-not-stacked-on-mobile.gap-6 > .wp-block-column:first-child .gallery-special-img,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery .gallery-item-row.is-not-stacked-on-mobile > .wp-block-column:first-child .gallery-special-img {
  position: relative !important;
  display: block !important;
  flex: none !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1.41 / 1 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  border-radius: 0.75rem !important;
  border: 2px solid #0f2547 !important;
  background-color: #f1f5f9 !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery .wp-block-columns.is-not-stacked-on-mobile.gap-6 > .wp-block-column:first-child .gallery-special-img > .wp-block-group__inner-container,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery .gallery-item-row.is-not-stacked-on-mobile > .wp-block-column:first-child .gallery-special-img > .wp-block-group__inner-container {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery .wp-block-columns.is-not-stacked-on-mobile.gap-6 > .wp-block-column:first-child .gallery-special-img-wrap .wp-block-image,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery .gallery-item-row.is-not-stacked-on-mobile > .wp-block-column:first-child .gallery-special-img-wrap .wp-block-image,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery .wp-block-columns.is-not-stacked-on-mobile.gap-6 > .wp-block-column:first-child .gallery-special-img .wp-block-image,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery .gallery-item-row.is-not-stacked-on-mobile > .wp-block-column:first-child .gallery-special-img .wp-block-image {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery .wp-block-columns.is-not-stacked-on-mobile.gap-6 > .wp-block-column:first-child .gallery-special-img-wrap .wp-block-image img,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery .gallery-item-row.is-not-stacked-on-mobile > .wp-block-column:first-child .gallery-special-img-wrap .wp-block-image img,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery .wp-block-columns.is-not-stacked-on-mobile.gap-6 > .wp-block-column:first-child .gallery-special-img .wp-block-image img,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery .gallery-item-row.is-not-stacked-on-mobile > .wp-block-column:first-child .gallery-special-img .wp-block-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center !important;
  margin: 0 !important;
  transition: transform 300ms ease !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery .gallery-item-row.is-not-stacked-on-mobile > .wp-block-column:first-child .gallery-special-img:hover .wp-block-image img {
  transform: scale(1.05) !important;
}

/* ペアリング：2カラム（wp:columns で2枚ずつ横並び） */
body.otaru-winecarnival-page .otaru-winecarnival-blocks #pairing .pairing-tab-btn {
  border: none;
  cursor: pointer;
  font-family: "Noto Sans JP", sans-serif;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #pairing .wp-block-details {
  width: 100%;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #pairing .wp-block-details > :not(summary) {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #pairing .pairing-card-list {
  width: 100% !important;
  max-width: none !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #pairing .wp-block-columns.pairing-row {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
  gap: 1.5rem !important;
  width: 100% !important;
  margin-bottom: 0 !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #pairing .wp-block-columns.pairing-row > .wp-block-column {
  flex: 1 1 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  display: flex !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #pairing .wp-block-columns.pairing-row > .wp-block-column > .wp-block-group.pairing-card,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #pairing .wp-block-columns.pairing-row > .wp-block-column > .pairing-card {
  flex: 1 1 auto !important;
  width: 100% !important;
  height: 100% !important;
}

@media (min-width: 768px) {
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #pairing .wp-block-columns.pairing-row.is-not-stacked-on-mobile {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
  }

  body.otaru-winecarnival-page .otaru-winecarnival-blocks #pairing .wp-block-columns.pairing-row.is-not-stacked-on-mobile > .wp-block-column {
    flex: 1 1 0% !important;
    width: calc(50% - 0.75rem) !important;
    max-width: calc(50% - 0.75rem) !important;
  }

  body.otaru-winecarnival-page .otaru-winecarnival-blocks #pairing .wp-block-columns.pairing-row.is-not-stacked-on-mobile > .wp-block-column:has(.hidden) {
    visibility: hidden;
    pointer-events: none;
  }

  body.otaru-winecarnival-page .otaru-winecarnival-blocks #shuttle-bus-info .wp-block-columns.shuttle-bus-columns {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
  }

  body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .wp-block-columns.event-venue-grid.is-not-stacked-on-mobile {
    flex-direction: row !important;
  }
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #pairing .pairing-card > .wp-block-group__inner-container {
  height: 100% !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #pairing .pairing-card .wp-block-columns.pairing-card-inner,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #pairing .wp-block-group.bg-white.p-5.border-2 .wp-block-columns.pairing-card-inner {
  align-items: flex-start !important;
  gap: 1rem !important;
  width: 100%;
  height: 100%;
}

@media (min-width: 768px) {
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #pairing .pairing-card .wp-block-columns.pairing-card-inner,
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #pairing .wp-block-group.bg-white.p-5.border-2 .wp-block-columns.pairing-card-inner {
    flex-wrap: nowrap !important;
    flex-direction: row !important;
  }
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #pairing .pairing-card-list > .wp-block-group__inner-container > .wp-block-group.col-span-1,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #pairing .pairing-card-list > .wp-block-group.col-span-1 {
  width: 100% !important;
  max-width: none !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #pairing .wp-block-group.col-span-1.md\:col-span-2 {
  width: 100% !important;
  max-width: none !important;
}

/* ペアリングカード内：左イラスト + 右テキスト */
body.otaru-winecarnival-page .otaru-winecarnival-blocks #pairing .pairing-card .wp-block-columns,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #pairing .wp-block-group.bg-white.p-5.border-2 .wp-block-columns {
  align-items: flex-start !important;
  gap: 0.75rem !important;
  width: 100%;
}

@media (min-width: 768px) {
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #pairing .pairing-card .wp-block-columns,
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #pairing .wp-block-group.bg-white.p-5.border-2 .wp-block-columns {
    flex-wrap: nowrap !important;
    flex-direction: row !important;
  }
}

body.otaru-winecarnival-page #pairing a.pairing-wine-btn,
body.otaru-winecarnival-page #pairing .pairing-wine-btn-wrap a,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #pairing .pairing-wine-btn,
body.otaru-winecarnival-page #pairing .carnival-pairing-wine-btn,
body.otaru-winecarnival-page .wp-block-html #pairing .carnival-pairing-wine-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.375rem !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0.25rem 0.625rem !important;
  background-color: rgba(254, 245, 200, 0.3) !important;
  border: 1px solid rgba(15, 37, 71, 0.2) !important;
  border-radius: 0.25rem !important;
  color: #0f2547 !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
  text-align: left !important;
  text-decoration: none !important;
  cursor: pointer !important;
  appearance: none !important;
  transition: background-color 0.15s, color 0.15s !important;
  box-sizing: border-box !important;
}

body.otaru-winecarnival-page #pairing a.pairing-wine-btn:hover,
body.otaru-winecarnival-page #pairing .pairing-wine-btn-wrap a:hover,
body.otaru-winecarnival-page #pairing a.pairing-wine-btn:hover,
body.otaru-winecarnival-page #pairing .pairing-wine-btn-wrap a:hover,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #pairing .pairing-wine-btn:hover,
body.otaru-winecarnival-page #pairing .carnival-pairing-wine-btn:hover,
body.otaru-winecarnival-page .wp-block-html #pairing .carnival-pairing-wine-btn:hover {
  background-color: rgba(162, 217, 206, 0.2) !important;
}

body.otaru-winecarnival-page #pairing .carnival-pairing-wine-btn--hover-text:hover,
body.otaru-winecarnival-page .wp-block-html #pairing .carnival-pairing-wine-btn--hover-text:hover {
  color: #8c4362 !important;
  background-color: rgba(254, 245, 200, 0.3) !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #pairing .pairing-food-arrow,
body.otaru-winecarnival-page .editor-styles-wrapper #pairing .pairing-food-arrow {
  font-size: 0.75rem !important;
  margin-right: 0.25rem !important;
  color: #0f2547 !important;
  font-style: normal !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks .shuttle-route-arrow,
body.otaru-winecarnival-page .editor-styles-wrapper .shuttle-route-arrow {
  font-size: 0.75rem !important;
  margin-right: 0.25rem !important;
  color: #8c4362 !important;
  font-style: normal !important;
}

body.otaru-winecarnival-page #pairing .carnival-pairing-wine-btn--hover-text:hover .text-brand-darkblue,
body.otaru-winecarnival-page #pairing .carnival-pairing-wine-btn--hover-text:hover i,
body.otaru-winecarnival-page .wp-block-html #pairing .carnival-pairing-wine-btn--hover-text:hover .fa-solid {
  color: #8c4362 !important;
}

body.otaru-winecarnival-page #pairing .carnival-pairing-wine-btn--hover-bg-wine:hover,
body.otaru-winecarnival-page .wp-block-html #pairing .carnival-pairing-wine-btn--hover-bg-wine:hover {
  background-color: #8c4362 !important;
  color: #0f2547 !important;
}

body.otaru-winecarnival-page #pairing a.pairing-wine-btn .fa-location-dot,
body.otaru-winecarnival-page #pairing .pairing-wine-btn-wrap a .fa-location-dot,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #pairing .pairing-wine-btn .fa-location-dot,
body.otaru-winecarnival-page #pairing .carnival-pairing-wine-btn .fa-location-dot,
body.otaru-winecarnival-page .wp-block-html #pairing .carnival-pairing-wine-btn .fa-solid {
  flex-shrink: 0 !important;
  color: inherit !important;
  font-size: 0.75rem !important;
}

/* 店舗ボタン（ネイビー pill）— カスタムHTMLブロック用 */
body.otaru-winecarnival-page #pairing .carnival-pairing-shop-btn,
body.otaru-winecarnival-page .wp-block-html #pairing .carnival-pairing-shop-btn,
body.otaru-winecarnival-page #pairing .pairing-panel .flex.flex-wrap button.bg-brand-darkblue {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.375rem !important;
  padding: 0.25rem 0.625rem !important;
  background-color: #0f2547 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 0.25rem !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
  white-space: normal !important;
  text-align: left !important;
  cursor: pointer !important;
  appearance: none !important;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
  transition: background-color 0.15s !important;
  box-sizing: border-box !important;
}

body.otaru-winecarnival-page #pairing .carnival-pairing-shop-btn:hover,
body.otaru-winecarnival-page .wp-block-html #pairing .carnival-pairing-shop-btn:hover,
body.otaru-winecarnival-page #pairing .pairing-panel .flex.flex-wrap button.bg-brand-darkblue:hover {
  background-color: #e74c3c !important;
  color: #fff !important;
}

body.otaru-winecarnival-page #pairing .carnival-pairing-shop-btn .fa-solid,
body.otaru-winecarnival-page .wp-block-html #pairing .carnival-pairing-shop-btn .fa-solid,
body.otaru-winecarnival-page #pairing .pairing-panel .flex.flex-wrap button.bg-brand-darkblue .fa-solid {
  color: #fff !important;
  font-size: 10px !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #pairing .pairing-wine-btn-wrap {
  margin: 0 !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #pairing .pairing-wine-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.375rem !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0.25rem 0.625rem !important;
  background-color: rgba(254, 245, 200, 0.3) !important;
  border: 1px solid rgba(15, 37, 71, 0.2) !important;
  border-radius: 0.25rem !important;
  color: #0f2547 !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
  text-align: left !important;
  text-decoration: none !important;
  transition: background-color 0.15s !important;
  box-sizing: border-box !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #pairing .pairing-wine-btn:hover {
  background-color: rgba(162, 217, 206, 0.2) !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #pairing .pairing-wine-btn .fa-location-dot {
  flex-shrink: 0 !important;
  color: #0f2547 !important;
  font-size: 0.75rem !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #pairing .pairing-shop-btns {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.375rem !important;
  padding-top: 0.125rem !important;
}

body.otaru-winecarnival-page #pairing .wp-block-button.pairing-shop-btn .wp-block-button__link,
body.otaru-winecarnival-page #pairing .pairing-shop-btns .wp-block-button__link,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #pairing .pairing-card .wp-block-button.pairing-shop-btn .wp-block-button__link,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #pairing .wp-block-group.bg-white.p-5 .wp-block-button.pairing-shop-btn .wp-block-button__link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.375rem !important;
  font-size: 10px !important;
  padding: 0.25rem 0.625rem !important;
  white-space: normal !important;
  text-align: left !important;
  background-color: #0f2547 !important;
  color: #fff !important;
}

body.otaru-winecarnival-page #pairing .wp-block-button.pairing-shop-btn .wp-block-button__link:hover,
body.otaru-winecarnival-page #pairing .pairing-shop-btns .wp-block-button__link:hover,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #pairing .pairing-card .wp-block-button.pairing-shop-btn .wp-block-button__link:hover,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #pairing .wp-block-group.bg-white.p-5 .wp-block-button.pairing-shop-btn .wp-block-button__link:hover {
  background-color: #f35a75 !important;
}

body.otaru-winecarnival-page #pairing .wp-block-button.pairing-shop-btn .fa-location-dot,
body.otaru-winecarnival-page #pairing .pairing-shop-btns .fa-location-dot,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #pairing .pairing-card .wp-block-button.pairing-shop-btn .fa-location-dot,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #pairing .wp-block-group.bg-white.p-5 .wp-block-button.pairing-shop-btn .fa-location-dot {
  font-size: 10px !important;
}

body.otaru-winecarnival-page #pairing .pairing-card-inner > .wp-block-column:first-child,
body.otaru-winecarnival-page #pairing .pairing-card .wp-block-columns > .wp-block-column:first-child,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #pairing .wp-block-group.bg-white.p-5.border-2 .wp-block-columns > .wp-block-column:first-child {
  flex: 0 0 128px !important;
  width: 128px !important;
  max-width: 128px !important;
  min-width: 128px !important;
}

body.otaru-winecarnival-page #pairing .pairing-card-img-wrap {
  min-width: 128px !important;
  width: 128px !important;
  max-width: 128px !important;
  flex-shrink: 0 !important;
}

body.otaru-winecarnival-page #pairing .pairing-card-img,
body.otaru-winecarnival-page #pairing figure.pairing-card-img,
body.otaru-winecarnival-page #pairing .pairing-card-inner .wp-block-column:first-child .wp-block-image {
  width: 128px !important;
  height: 128px !important;
  max-width: 128px !important;
  margin: 0 !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
}

body.otaru-winecarnival-page #pairing .pairing-card-img img,
body.otaru-winecarnival-page #pairing figure.pairing-card-img img,
body.otaru-winecarnival-page #pairing .pairing-card-inner .wp-block-column:first-child .wp-block-image img {
  width: 128px !important;
  height: 128px !important;
  max-width: 128px !important;
  object-fit: cover !important;
  display: block !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #pairing .pairing-card .wp-block-columns > .wp-block-column:last-child,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #pairing .wp-block-group.bg-white.p-5.border-2 .wp-block-columns > .wp-block-column:last-child {
  flex: 1 1 0% !important;
  min-width: 0;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #pairing .pairing-card .wp-block-button.is-style-fill:not(.pairing-shop-btn) .wp-block-button__link,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #pairing .wp-block-group.bg-white.p-5 .wp-block-button.is-style-fill:not(.pairing-shop-btn) .wp-block-button__link {
  font-size: 9px !important;
  padding: 0.3rem 0.5rem !important;
  white-space: normal;
  text-align: left;
}

@media (min-width: 640px) {
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #pairing .pairing-card .wp-block-button.is-style-fill:not(.pairing-shop-btn) .wp-block-button__link,
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #pairing .wp-block-group.bg-white.p-5 .wp-block-button.is-style-fill:not(.pairing-shop-btn) .wp-block-button__link {
    font-size: 10px !important;
  }
}

/* ワイン＆ドリンクメニュー（4タブ + 2列カード） */
body.otaru-winecarnival-page .otaru-winecarnival-blocks #wine-menu .wine-category-tab {
  border: none;
  cursor: pointer;
}


body.otaru-winecarnival-page .otaru-winecarnival-blocks #wine-menu .wp-block-columns.wine-menu-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 1.5rem 2rem !important;
  margin-bottom: 1.5rem !important;
  width: 100% !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #wine-menu .wp-block-columns.wine-menu-row:last-child {
  margin-bottom: 0 !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #wine-menu .wp-block-columns.wine-menu-row > .wp-block-column {
  flex: 1 1 calc(50% - 1rem);
  min-width: 0;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #wine-menu .wp-block-columns.wine-menu-row > .wp-block-column > .wp-block-group.wine-menu-card {
  flex: 1 1 auto !important;
  width: 100% !important;
}

@media (min-width: 768px) {
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #wine-menu .wp-block-columns.wine-menu-row.is-not-stacked-on-mobile {
    flex-wrap: nowrap;
    flex-direction: row !important;
  }

  body.otaru-winecarnival-page .otaru-winecarnival-blocks #wine-menu .wp-block-columns.wine-menu-row.is-not-stacked-on-mobile > .wp-block-column {
    flex: 1 1 0;
    max-width: 50%;
    width: auto !important;
  }

  body.otaru-winecarnival-page .otaru-winecarnival-blocks #wine-menu .wp-block-columns.wine-menu-row.is-not-stacked-on-mobile > .wp-block-column:has(.hidden) {
    visibility: hidden;
    pointer-events: none;
  }
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #wine-menu .wine-menu-card,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #wine-menu .wp-block-group.wine-menu-card {
  height: 100%;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #wine-menu .wine-panel-header .wp-block-buttons {
  justify-content: center;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #access .wp-block-group.grid {
  display: grid !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #access .wp-block-group.grid > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  gap: 1rem !important;
}

@media (min-width: 768px) {
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #access .wp-block-group.grid.grid-cols-1.md\:grid-cols-2 > .wp-block-group__inner-container {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #access .wp-block-html .grid.grid-cols-1 {
  display: grid !important;
  gap: 1rem !important;
}

@media (min-width: 768px) {
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #access .wp-block-html .grid.md\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* シャトルバス3列（wp:columns・カラム内は wp:group 1個） */
body.otaru-winecarnival-page .otaru-winecarnival-blocks #shuttle-bus-info .wp-block-columns.shuttle-bus-columns {
  align-items: stretch !important;
  gap: 1.5rem !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #shuttle-bus-info .wp-block-columns.shuttle-bus-columns > .wp-block-column {
  display: flex !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #shuttle-bus-info .shuttle-bus-card {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #shuttle-bus-info .shuttle-bus-card__body {
  flex: 1 1 auto !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #shuttle-bus-info .shuttle-bus-grid {
  display: grid !important;
  gap: 1.5rem !important;
}

@media (min-width: 768px) {
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #shuttle-bus-info .shuttle-bus-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

/* 会場図マップ画像：中央寄せ（inner-container 経由でも効く） */
body.otaru-winecarnival-page #food-map-section .food-map-card .wp-block-group__inner-container,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #food-map-section .food-map-card .wp-block-group__inner-container {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
}

body.otaru-winecarnival-page #food-map-section .food-map-card .wp-block-html:has([id^="map-pin-"]),
body.otaru-winecarnival-page .otaru-winecarnival-blocks #food-map-section .food-map-card .wp-block-html:has([id^="map-pin-"]) {
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
}

body.otaru-winecarnival-page #food-map-section .food-map-card .food-map-viewport,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #food-map-section .food-map-card .food-map-viewport {
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100% !important;
  max-width: 540px !important;
}

/* 会場図ピン：通常時は translate 固定、ハイライト時はバウンド */
body.otaru-winecarnival-page #food-map-section [id^="map-pin-"]:not(.map-pin-active) {
  transform: translate(-50%, -50%);
}

body.otaru-winecarnival-page #food-map-section [id^="map-pin-"].map-pin-active {
  z-index: 30 !important;
  transition: none !important;
  animation: carnival-map-pin-bounce 1s infinite;
}

@keyframes carnival-map-pin-bounce {
  0%, 100% {
    transform: translate(-50%, -50%) scale(1.5);
    animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
  }
  50% {
    transform: translate(-50%, calc(-50% - 5px)) scale(1.5);
    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
  }
}

/* MAP GUIDE → wp:columns 版は carnival-block-derived.css */

body.otaru-winecarnival-page .otaru-winecarnival-blocks #access .access-notice-card__title {
  display: block !important;
}

/* 地図・交通アクセス：大切なお願い（PPB Columns vAlign full） */
body.otaru-winecarnival-page #access .access-notice-panel > .wp-block-group__inner-container,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #access .access-notice-panel > .wp-block-group__inner-container,
body.otaru-winecarnival-page #access .access-notice-panel:not(:has(> .wp-block-group__inner-container)),
body.otaru-winecarnival-page .otaru-winecarnival-blocks #access .access-notice-panel:not(:has(> .wp-block-group__inner-container)) {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  gap: 1.5rem !important;
}

body.otaru-winecarnival-page #access .access-notice-header,
body.otaru-winecarnival-page #access .access-notice-header > .wp-block-group__inner-container {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 0.75rem !important;
  width: 100% !important;
}

body.otaru-winecarnival-page #access .access-notice-panel .wp-block-columns.access-notice-row,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #access .access-notice-panel .wp-block-columns.access-notice-row,
body.otaru-winecarnival-page .editor-styles-wrapper #access .access-notice-panel .wp-block-columns.access-notice-row,
body.otaru-winecarnival-page #access .access-notice-panel .wp-block-advgb-columns.access-notice-row > .advgb-columns-container > .advgb-columns,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #access .access-notice-panel .wp-block-advgb-columns.access-notice-row > .advgb-columns-container > .advgb-columns {
  gap: 1rem !important;
  align-items: stretch !important;
  width: 100% !important;
}

@media (min-width: 768px) {
  body.otaru-winecarnival-page #access .access-notice-panel .wp-block-columns.access-notice-row,
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #access .access-notice-panel .wp-block-columns.access-notice-row,
  body.otaru-winecarnival-page .editor-styles-wrapper #access .access-notice-panel .wp-block-columns.access-notice-row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
  }

  body.otaru-winecarnival-page #access .access-notice-panel .wp-block-columns.access-notice-row > .wp-block-column,
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #access .access-notice-panel .wp-block-columns.access-notice-row > .wp-block-column,
  body.otaru-winecarnival-page .editor-styles-wrapper #access .access-notice-panel .wp-block-columns.access-notice-row > .wp-block-column {
    flex: 1 1 0% !important;
    width: 50% !important;
    max-width: 50% !important;
    min-width: 0 !important;
  }
}

body.otaru-winecarnival-page #access .access-notice-panel .access-notice-row--spaced,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #access .access-notice-panel .access-notice-row--spaced {
  margin-bottom: 1rem !important;
}

body.otaru-winecarnival-page #access .access-notice-panel .access-notice-header,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #access .access-notice-panel .access-notice-header {
  margin: 0 !important;
}

body.otaru-winecarnival-page #access .access-notice-panel .wp-block-columns.access-notice-row > .wp-block-column,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #access .access-notice-panel .wp-block-columns.access-notice-row > .wp-block-column,
body.otaru-winecarnival-page #access .access-notice-panel .access-notice-col,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #access .access-notice-panel .access-notice-col {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 0% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.otaru-winecarnival-page #access .access-notice-panel .wp-block-advgb-columns.access-notice-row,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #access .access-notice-panel .wp-block-advgb-columns.access-notice-row {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body.otaru-winecarnival-page #access .access-notice-panel .access-notice-col > .advgb-column-inner,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #access .access-notice-panel .access-notice-col > .advgb-column-inner {
  width: 100% !important;
  height: 100% !important;
  box-sizing: border-box !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  background: transparent !important;
}

body.otaru-winecarnival-page #access .access-notice-panel .wp-block-advgb-columns.access-notice-row:not(:last-child),
body.otaru-winecarnival-page .otaru-winecarnival-blocks #access .access-notice-panel .wp-block-advgb-columns.access-notice-row:not(:last-child) {
  margin-bottom: 1rem !important;
}

/* お願いカード2〜4：見出し下線は slate-200（参照 HTML 準拠） */
body.otaru-winecarnival-page #access .access-notice-panel .wp-block-advgb-columns.access-notice-row:first-of-type .access-notice-col:last-child .access-notice-card h4,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #access .access-notice-panel .wp-block-advgb-columns.access-notice-row:first-of-type .access-notice-col:last-child .access-notice-card h4,
body.otaru-winecarnival-page #access .access-notice-panel .wp-block-advgb-columns.access-notice-row:last-of-type .access-notice-col .access-notice-card h4,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #access .access-notice-panel .wp-block-advgb-columns.access-notice-row:last-of-type .access-notice-col .access-notice-card h4 {
  border-bottom-color: #e2e8f0 !important;
}

body.otaru-winecarnival-page #access .access-notice-panel .access-notice-card,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #access .access-notice-panel .access-notice-card {
  height: 100% !important;
  box-sizing: border-box !important;
  flex: 1 1 auto !important;
  width: 100% !important;
}

/* ACCESS MAP：外枠のみボーダー（内側 iframe ラッパーの二重枠を解消） */
body.otaru-winecarnival-page #access .rounded-xl.overflow-hidden.border-2.border-brand-darkblue,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #access .rounded-xl.overflow-hidden.border-2.border-brand-darkblue {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body.otaru-winecarnival-page #access .access-map-panel,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #access .access-map-panel {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  border: none !important;
  border-radius: 0 !important;
}

body.otaru-winecarnival-page #access .access-map-panel .wp-block-html > div,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #access .access-map-panel .wp-block-html > div {
  border: none !important;
  box-shadow: none !important;
}

/* ステージ行（wp:columns 版）— 旧HTML用 .stage-item > div:first-child は inner-container に誤適用されるため上書き */
body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .event-stage-list .stage-item.wp-block-group > .wp-block-group__inner-container {
  position: static !important;
  width: 100% !important;
  height: auto !important;
  overflow: visible !important;
  border: none !important;
  border-radius: 0 !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .stage-item .wp-block-columns.stage-item-row {
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  gap: 1.5rem !important;
  width: 100% !important;
}

@media (min-width: 768px) {
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .stage-item .wp-block-columns.stage-item-row {
    flex-wrap: nowrap !important;
  }
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .stage-item .stage-item-img-wrap {
  position: relative !important;
  flex-shrink: 0 !important;
  width: 100% !important;
  height: 11rem !important;
  overflow: hidden !important;
  border-radius: 0.75rem !important;
  border: 1px solid rgba(15, 37, 71, 0.1) !important;
  background-color: #f1f5f9 !important;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .stage-item .stage-item-img-wrap > .wp-block-group__inner-container {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .stage-item .stage-item-img-wrap--contain {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: #f35a75 !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .stage-item .stage-item-img-wrap .wp-block-image {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .stage-item .stage-item-img-wrap .wp-block-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
  transition: transform 300ms ease !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .stage-item .stage-item-img-wrap:hover .wp-block-image img {
  transform: scale(1.05) !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .stage-item .stage-item-img-wrap--contain .wp-block-image img {
  object-fit: contain !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .stage-item .wp-block-columns.stage-item-row > .wp-block-column:last-child {
  flex: 1 1 0% !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.625rem !important;
}

@media (min-width: 768px) {
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .stage-item .wp-block-columns.stage-item-row > .wp-block-column:first-child {
    flex: 0 0 auto !important;
    width: 12rem !important;
    max-width: 12rem !important;
  }

  body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .stage-item .stage-item-img-wrap {
    height: 9rem !important;
  }
}

@media (min-width: 1024px) {
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .stage-item .wp-block-columns.stage-item-row > .wp-block-column:first-child {
    width: 16rem !important;
    max-width: 16rem !important;
  }
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-columns.grid {
  display: grid !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-columns.gap-4 {
  gap: 1rem !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-columns.gap-6 {
  gap: 1.5rem !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #wine-menu .wp-block-columns.wine-set-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 1.5rem !important;
  align-items: stretch !important;
  width: 100% !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #wine-menu .wp-block-columns.wine-set-grid > .wp-block-column {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #wine-menu .wp-block-columns.wine-set-grid .wine-set-card {
  flex: 1 1 auto !important;
  width: 100% !important;
  height: 100% !important;
}

@media (min-width: 1024px) {
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #wine-menu .wp-block-columns.wine-set-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-columns.gap-0 {
  gap: 0 !important;
}

/* 詳細ブロック（タブ代替） */
body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-details {
  border: none;
  margin: 0 0 1rem;
  padding: 0;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-details summary {
  cursor: pointer;
  font-weight: 900;
  font-size: 0.875rem;
  color: #0f2547;
  padding: 0.75rem 1rem;
  background: #fff;
  border: 2px solid #0f2547;
  list-style: none;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-details[open] summary {
  border-bottom: none;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-details > :not(summary) {
  padding: 1rem;
  background: #fff;
  border: 2px solid #0f2547;
  border-top: none;
}

/* 見出し・段落：テーマ style.css 打ち消し強化 */
body.otaru-winecarnival-page .otaru-winecarnival-blocks :is(h1, h2, h3, h4, h5, h6) {
  line-height: 1.3 !important;
  font-family: "Noto Sans JP", sans-serif !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks p {
  line-height: 1.625 !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-heading {
  font-family: "Noto Sans JP", sans-serif !important;
}

/* 画像 */
body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-image {
  margin: 0;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-image:not(.pairing-card-img) img {
  display: block;
  max-width: 100%;
  height: auto;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-image.size-full:not(.pairing-card-img) img {
  width: 100%;
}

/* ヒーロー（template-parts/otaru-winecarnival/hero.php）
   外側 .otaru-winecarnival-hero に grid を付けると、子が1つの .grid ラッパーだけになり
   左右2画像が左半分に並ぶ — 内側 .grid にだけ2カラムを指定する */
body.otaru-winecarnival-page .otaru-winecarnival-hero {
  width: 100%;
  overflow: hidden;
}

body.otaru-winecarnival-page .otaru-winecarnival-hero > .grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  width: 100% !important;
  gap: 0 !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-hero__col {
  min-width: 0;
}

/* sticky ナビ全幅 */
body.otaru-winecarnival-page .wp-block-group.sticky {
  width: 100%;
  position: sticky;
  top: 0;
  z-index: 30;
}

@media (min-width: 768px) {
  body.otaru-winecarnival-page .otaru-winecarnival-hero > .grid {
    grid-template-columns: 1fr 1fr !important;
  }
}

body.otaru-winecarnival-page .otaru-winecarnival-hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* max-w-4xl 外に漏れた直下セクション（#food 未閉じ等）の保険 */
body.otaru-winecarnival-page .otaru-winecarnival-blocks > .wp-block-group.w-full[class~="pt-12"] > .wp-block-group.max-w-4xl,
body.otaru-winecarnival-page .otaru-winecarnival-blocks > .wp-block-group.w-full[class~="pt-12"] > .wp-block-group__inner-container > .wp-block-group.max-w-4xl,
body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-group.w-full[class~="pt-12"] > .wp-block-group[id="food"],
body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-group.w-full[class~="pt-12"] > .wp-block-html:has(#food-map-section),
body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-group.w-full[class~="pt-12"] > .wp-block-group[id="pairing"],
body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-group.w-full[class~="pt-12"] > .wp-block-group[id="gallery"],
body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-group.w-full[class~="pt-12"] > .wp-block-group[id="access"],
body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-group.w-full[class~="pt-12"] > .wp-block-group[id="sponsors"],
body.otaru-winecarnival-page .otaru-winecarnival-blocks main > .max-w-4xl {
  max-width: 56rem !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* #food / #gallery / #access / MAP GUIDE のレイアウトは carnival-block-derived.css を参照 */

/* 大カラム（2店舗行）モバイル縦積み時の余白 */
@media (max-width: 767px) {
  body.otaru-winecarnival-page .otaru-winecarnival-blocks #food .food-menu-shell .wp-block-columns.food-menu-row,
  body.otaru-winecarnival-page .editor-styles-wrapper #food .food-menu-shell .wp-block-columns.food-menu-row,
  body.otaru-winecarnival-page #food .food-menu-shell .wp-block-columns.food-menu-row {
    gap: 1.5rem !important;
    row-gap: 1.5rem !important;
  }
}
