/* おたるワインカーニバル専用（index.html の <style> + WP/テーマ打ち消し）
   Tailwind CDN 未読込・遅延時のフォールバック + テーマ打ち消し */

/* ------------------------------------------------------------------
   ブランド色・レイアウト（Tailwind 未生成時の保険）
   ------------------------------------------------------------------ */
body.otaru-winecarnival-page .bg-brand-darkblue { background-color: #0f2547; }
body.otaru-winecarnival-page .bg-brand-coral { background-color: #e74c3c; }
body.otaru-winecarnival-page .text-brand-darkblue { color: #0f2547; }
body.otaru-winecarnival-page .border-brand-darkblue { border-color: #0f2547; }
body.otaru-winecarnival-page .bg-palette-mint { background-color: #a2d9ce; }
body.otaru-winecarnival-page .bg-palette-skyblue { background-color: #81cfe0; }
body.otaru-winecarnival-page .bg-palette-blue { background-color: #7fb3d5; }
body.otaru-winecarnival-page .bg-palette-yellow { background-color: #fef5c8; }
body.otaru-winecarnival-page .bg-palette-wine { background-color: #8c4362; }
body.otaru-winecarnival-page .bg-palette-orange { background-color: #faba71; }
body.otaru-winecarnival-page .text-palette-wine { color: #8c4362; }
body.otaru-winecarnival-page .text-palette-mint { color: #a2d9ce; }
body.otaru-winecarnival-page .text-palette-yellow { color: #fef5c8; }
body.otaru-winecarnival-page .border-palette-mint { border-color: #a2d9ce; }
body.otaru-winecarnival-page .border-palette-wine { border-color: #8c4362; }
body.otaru-winecarnival-page .bg-\[\#9ED2ED\] { background-color: #9ed2ed; }

body.otaru-winecarnival-page .flex { display: flex; }
body.otaru-winecarnival-page .grid { display: grid; }
body.otaru-winecarnival-page .hidden { display: none; }
body.otaru-winecarnival-page .block { display: block; }
body.otaru-winecarnival-page .relative { position: relative; }
body.otaru-winecarnival-page .fixed { position: fixed; }
body.otaru-winecarnival-page .w-full { width: 100%; }
body.otaru-winecarnival-page .min-h-screen { min-height: 100vh; }
body.otaru-winecarnival-page .text-white { color: #fff; }
body.otaru-winecarnival-page .text-slate-800 { color: #1e293b; }
body.otaru-winecarnival-page .font-sans { font-family: "Noto Sans JP", sans-serif; }
body.otaru-winecarnival-page .z-0 { z-index: 0; }
body.otaru-winecarnival-page .z-10 { z-index: 10; }
body.otaru-winecarnival-page .z-30 { z-index: 30; }
body.otaru-winecarnival-page .z-40 { z-index: 40; }

/* sticky / spacing / grid（Tailwind CDN 失敗時の最低限レイアウト） */
body.otaru-winecarnival-page .sticky { position: sticky; }
body.otaru-winecarnival-page .top-0 { top: 0; }
body.otaru-winecarnival-page .inset-0 { inset: 0; }
body.otaru-winecarnival-page .gap-0 { gap: 0; }
body.otaru-winecarnival-page .gap-2 { gap: 0.5rem; }
body.otaru-winecarnival-page .gap-3 { gap: 0.75rem; }
body.otaru-winecarnival-page .gap-4 { gap: 1rem; }
body.otaru-winecarnival-page .gap-6 { gap: 1.5rem; }
body.otaru-winecarnival-page .mb-6 { margin-bottom: 1.5rem; }
body.otaru-winecarnival-page .mr-2 { margin-right: 0.5rem; }
body.otaru-winecarnival-page .pb-2 { padding-bottom: 0.5rem; }
body.otaru-winecarnival-page .py-4 { padding-top: 1rem; padding-bottom: 1rem; }
body.otaru-winecarnival-page .pt-8 { padding-top: 2rem; }
body.otaru-winecarnival-page .pb-8 { padding-bottom: 2rem; }
body.otaru-winecarnival-page .px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
body.otaru-winecarnival-page .w-fit { width: fit-content; }
body.otaru-winecarnival-page .inline-block { display: inline-block; }
body.otaru-winecarnival-page .leading-snug { line-height: 1.375; }
body.otaru-winecarnival-page .tracking-wide { letter-spacing: 0.025em; }
body.otaru-winecarnival-page .divide-y > :not([hidden]) ~ :not([hidden]) { border-top-width: 1px; border-top-style: solid; }
body.otaru-winecarnival-page .divide-slate-100 > :not([hidden]) ~ :not([hidden]) { border-color: #f1f5f9; }
body.otaru-winecarnival-page .border-b-\[2px\] { border-bottom-width: 2px; border-bottom-style: solid; }
body.otaru-winecarnival-page .border-b-2 { border-bottom-width: 2px; border-bottom-style: solid; }
body.otaru-winecarnival-page .border-brand-darkblue\/10 { border-color: rgba(15, 37, 71, 0.1); }
body.otaru-winecarnival-page #news p,
body.otaru-winecarnival-page #message p { margin-top: 0; margin-bottom: 0; }
body.otaru-winecarnival-page .space-y-1 > :not([hidden]) ~ :not([hidden]) { margin-top: 0.25rem; }
body.otaru-winecarnival-page .space-y-1\.5 > :not([hidden]) ~ :not([hidden]) { margin-top: 0.375rem; }
body.otaru-winecarnival-page .space-y-2 > :not([hidden]) ~ :not([hidden]) { margin-top: 0.5rem; }
body.otaru-winecarnival-page .space-y-2\.5 > :not([hidden]) ~ :not([hidden]) { margin-top: 0.625rem; }
body.otaru-winecarnival-page .space-y-3 > :not([hidden]) ~ :not([hidden]) { margin-top: 0.75rem; }
body.otaru-winecarnival-page .space-y-4 > :not([hidden]) ~ :not([hidden]) { margin-top: 1rem; }
body.otaru-winecarnival-page .space-y-5 > :not([hidden]) ~ :not([hidden]) { margin-top: 1.25rem; }
body.otaru-winecarnival-page .space-y-6 > :not([hidden]) ~ :not([hidden]) { margin-top: 1.5rem; }
body.otaru-winecarnival-page .space-y-8 > :not([hidden]) ~ :not([hidden]) { margin-top: 2rem; }
body.otaru-winecarnival-page .space-y-12 > :not([hidden]) ~ :not([hidden]) { margin-top: 3rem; }

/* wp:group + space-y（Tailwind CDN 未読込時・wp-blocks 未反映時の保険） */
body.otaru-winecarnival-page .wp-block-group[class~="space-y-12"] > .wp-block-group__inner-container {
  display: flex !important;
  flex-direction: column !important;
  gap: 3rem !important;
}

body.otaru-winecarnival-page .wp-block-group[class~="space-y-8"] > .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-6"] > .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-5"] > .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-4"] > .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-3"] > .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-2"] > .wp-block-group__inner-container {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.5rem !important;
}

body.otaru-winecarnival-page .max-w-4xl[class~="space-y-12"] > .wp-block-group__inner-container {
  display: flex !important;
  flex-direction: column !important;
  gap: 3rem !important;
}
body.otaru-winecarnival-page .items-stretch { align-items: stretch; }
body.otaru-winecarnival-page .items-start { align-items: flex-start; }
body.otaru-winecarnival-page .items-center { align-items: center; }
body.otaru-winecarnival-page .justify-center { justify-content: center; }
body.otaru-winecarnival-page .justify-between { justify-content: space-between; }
body.otaru-winecarnival-page .flex-col { flex-direction: column; }
body.otaru-winecarnival-page .shrink-0 { flex-shrink: 0; }
body.otaru-winecarnival-page .leading-relaxed { line-height: 1.625; }
body.otaru-winecarnival-page .rounded { border-radius: 0.25rem; }
body.otaru-winecarnival-page .shadow-sm { box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); }
body.otaru-winecarnival-page .p-1 { padding: 0.25rem; }
body.otaru-winecarnival-page .py-3 { padding-top: 0.75rem; padding-bottom: 0.75rem; }
body.otaru-winecarnival-page .px-3 { padding-left: 0.75rem; padding-right: 0.75rem; }
body.otaru-winecarnival-page .py-1\.5 { padding-top: 0.375rem; padding-bottom: 0.375rem; }
body.otaru-winecarnival-page .max-w-xl { max-width: 36rem; }
body.otaru-winecarnival-page .max-w-3xl { max-width: 48rem; }
body.otaru-winecarnival-page .h-44 { height: 11rem; }
body.otaru-winecarnival-page .border-b-\[2px\] { border-bottom-width: 2px; border-bottom-style: solid; }
body.otaru-winecarnival-page .min-h-\[300px\] { min-height: 300px; }
body.otaru-winecarnival-page .max-w-2xl { max-width: 42rem; }

/* カテゴリ切替タブ（イベント / ワインメニュー / ペアリング） */
body.otaru-winecarnival-page .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;
  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 .wp-block-html > div.carnival-category-tabs--wide {
  max-width: 42rem !important;
}

body.otaru-winecarnival-page .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;
  padding: 0.75rem 0.25rem !important;
  font-weight: 900 !important;
  font-size: 0.75rem !important;
  text-align: center !important;
  border: none !important;
  cursor: pointer !important;
  white-space: nowrap !important;
}

@media (min-width: 640px) {
  body.otaru-winecarnival-page .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 .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 .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 .wp-block-html > div.carnival-category-tabs--wide > button {
    font-size: 0.875rem !important;
  }
}

/* 旧クラス向けフォールバック */
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;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
  box-sizing: border-box !important;
}

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

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

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;
  padding: 0.75rem 0.25rem !important;
  font-weight: 900 !important;
  font-size: 0.75rem !important;
  text-align: center !important;
  border: none !important;
  cursor: pointer !important;
  white-space: nowrap !important;
}

@media (min-width: 640px) {
  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 .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 .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;
}

body.otaru-winecarnival-page .flex-wrap { flex-wrap: wrap; }
body.otaru-winecarnival-page .flex-1 { flex: 1 1 0%; }
body.otaru-winecarnival-page .flex-shrink-0 { flex-shrink: 0; }
body.otaru-winecarnival-page .flex-grow { flex-grow: 1; }
body.otaru-winecarnival-page .group { position: relative; }
body.otaru-winecarnival-page .overflow-hidden { overflow: hidden; }
body.otaru-winecarnival-page .overflow-x-auto { overflow-x: auto; }
body.otaru-winecarnival-page .whitespace-nowrap { white-space: nowrap; }
body.otaru-winecarnival-page .rounded-none { border-radius: 0; }
body.otaru-winecarnival-page .rounded-xl { border-radius: 0.75rem; }
body.otaru-winecarnival-page .rounded-lg { border-radius: 0.5rem; }
body.otaru-winecarnival-page .border-2 { border-width: 2px; border-style: solid; }
body.otaru-winecarnival-page .gap-1\.5 { gap: 0.375rem; }
body.otaru-winecarnival-page .gap-x-4 { column-gap: 1rem; }
body.otaru-winecarnival-page .gap-y-2 { row-gap: 0.5rem; }
body.otaru-winecarnival-page .w-px { width: 1px; }
body.otaru-winecarnival-page .border-4 { border-width: 4px; border-style: solid; }
body.otaru-winecarnival-page .border-red-600 { border-color: #dc2626 !important; }
body.otaru-winecarnival-page .border-red-200 { border-color: #fecaca !important; }
body.otaru-winecarnival-page .border-l-2 { border-left-width: 2px; border-left-style: solid; }
body.otaru-winecarnival-page .border-t-2 { border-top-width: 2px; border-top-style: solid; }
body.otaru-winecarnival-page .border-t { border-top-width: 1px; border-top-style: solid; }
body.otaru-winecarnival-page .border-x { border-left-width: 1px; border-right-width: 1px; border-left-style: solid; border-right-style: solid; }
body.otaru-winecarnival-page .border-b { border-bottom-width: 1px; border-bottom-style: solid; }
body.otaru-winecarnival-page .border-dashed { border-style: dashed; }
body.otaru-winecarnival-page .p-4 { padding: 1rem; }
body.otaru-winecarnival-page .p-5 { padding: 1.25rem; }
body.otaru-winecarnival-page .p-6 { padding: 1.5rem; }
body.otaru-winecarnival-page .px-4 { padding-left: 1rem; padding-right: 1rem; }
body.otaru-winecarnival-page .py-2 { padding-top: 0.5rem; padding-bottom: 0.5rem; }
body.otaru-winecarnival-page .pt-3 { padding-top: 0.75rem; }
body.otaru-winecarnival-page .pt-12 { padding-top: 3rem; }
body.otaru-winecarnival-page .pb-0 { padding-bottom: 0; }
body.otaru-winecarnival-page .pb-6 { padding-bottom: 1.5rem; }
body.otaru-winecarnival-page .max-w-4xl { max-width: 56rem; }
body.otaru-winecarnival-page .max-w-md { max-width: 28rem; }
body.otaru-winecarnival-page .mx-auto { margin-left: auto; margin-right: auto; }
body.otaru-winecarnival-page .text-center { text-align: center; }
body.otaru-winecarnival-page .text-left { text-align: left; }
body.otaru-winecarnival-page .font-black { font-weight: 900; }
body.otaru-winecarnival-page .font-bold { font-weight: 700; }
body.otaru-winecarnival-page .font-medium { font-weight: 500; }
body.otaru-winecarnival-page .uppercase { text-transform: uppercase; }
body.otaru-winecarnival-page .tracking-wider { letter-spacing: 0.05em; }
body.otaru-winecarnival-page .tracking-widest { letter-spacing: 0.1em; }
body.otaru-winecarnival-page .text-xs { font-size: 0.75rem; line-height: 1rem; }
body.otaru-winecarnival-page .text-sm { font-size: 0.875rem; line-height: 1.25rem; }
body.otaru-winecarnival-page .text-base { font-size: 1rem; line-height: 1.5rem; }
body.otaru-winecarnival-page .text-lg { font-size: 1.125rem; line-height: 1.75rem; }
body.otaru-winecarnival-page .text-xl { font-size: 1.25rem; line-height: 1.75rem; }
body.otaru-winecarnival-page .text-2xl { font-size: 1.5rem; line-height: 2rem; }
body.otaru-winecarnival-page .text-slate-500 { color: #64748b; }
body.otaru-winecarnival-page .text-slate-600 { color: #475569; }
body.otaru-winecarnival-page .text-slate-700 { color: #334155; }
body.otaru-winecarnival-page .text-red-600 { color: #dc2626; }
body.otaru-winecarnival-page .text-emerald-300 { color: #6ee7b7; }
body.otaru-winecarnival-page .bg-white { background-color: #fff; }
body.otaru-winecarnival-page .bg-transparent { background-color: transparent; }
body.otaru-winecarnival-page .bg-red-50 { background-color: #fef2f2; }
body.otaru-winecarnival-page .bg-slate-100 { background-color: #f1f5f9; }
body.otaru-winecarnival-page .object-cover { object-fit: cover; }
body.otaru-winecarnival-page .object-contain { object-fit: contain; }
body.otaru-winecarnival-page .object-center { object-position: center; }
body.otaru-winecarnival-page .h-full { height: 100%; }
body.otaru-winecarnival-page .min-h-0 { min-height: 0; }
body.otaru-winecarnival-page .h-32 { height: 8rem; }
body.otaru-winecarnival-page .h-64 { height: 16rem; }
body.otaru-winecarnival-page .w-32 { width: 8rem; }
body.otaru-winecarnival-page .scroll-mt-24 { scroll-margin-top: 6rem; }
body.otaru-winecarnival-page .backdrop-blur-md { backdrop-filter: blur(12px); }
body.otaru-winecarnival-page .grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
body.otaru-winecarnival-page .col-span-2 { grid-column: span 2 / span 2; }

@media (min-width: 640px) {
  body.otaru-winecarnival-page .sm\:px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
  body.otaru-winecarnival-page .sm\:flex-row { flex-direction: row; }
  body.otaru-winecarnival-page .sm\:items-center { align-items: center; }
  body.otaru-winecarnival-page .sm\:gap-6 { gap: 1.5rem; }
  body.otaru-winecarnival-page .sm\:text-xs { font-size: 0.75rem; line-height: 1rem; }
  body.otaru-winecarnival-page .sm\:text-sm { font-size: 0.875rem; line-height: 1.25rem; }
  body.otaru-winecarnival-page .sm\:text-base { font-size: 1rem; line-height: 1.5rem; }
  body.otaru-winecarnival-page .sm\:text-lg { font-size: 1.125rem; line-height: 1.75rem; }
  body.otaru-winecarnival-page .sm\:text-2xl { font-size: 1.5rem; line-height: 2rem; }
  body.otaru-winecarnival-page .sm\:text-3xl { font-size: 1.875rem; line-height: 2.25rem; }
  body.otaru-winecarnival-page .sm\:p-8 { padding: 2rem; }
  body.otaru-winecarnival-page .sm\:p-10 { padding: 2.5rem; }
}

@media (min-width: 768px) {
  body.otaru-winecarnival-page .md\:block { display: block; }
  body.otaru-winecarnival-page .md\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.otaru-winecarnival-page .md\:grid-cols-12 { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  body.otaru-winecarnival-page .md\:col-span-5 { grid-column: span 5 / span 5; }
  body.otaru-winecarnival-page .md\:col-span-6 { grid-column: span 6 / span 6; }
  body.otaru-winecarnival-page .md\:p-8 { padding: 2rem; }
  body.otaru-winecarnival-page .md\:text-sm { font-size: 0.875rem; line-height: 1.25rem; }
  body.otaru-winecarnival-page .md\:h-\[32vh\] { height: 32vh; }
  body.otaru-winecarnival-page .md\:flex-row { flex-direction: row; }
  body.otaru-winecarnival-page .md\:w-48 { width: 12rem; }
  body.otaru-winecarnival-page .md\:h-36 { height: 9rem; }
}

@media (min-width: 1024px) {
  body.otaru-winecarnival-page .lg\:text-3xl { font-size: 1.875rem; line-height: 2.25rem; }
  body.otaru-winecarnival-page .lg\:grid-cols-12 { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  body.otaru-winecarnival-page .lg\:w-64 { width: 16rem; }
}

/* WordPress ブロック基盤（wp-block-library 停止時） */
body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-columns {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

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

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

body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
  align-items: center;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-button {
  margin: 0;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-button__link {
  display: inline-block;
  box-sizing: border-box;
  cursor: pointer;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-details summary {
  cursor: pointer;
  font-weight: 700;
  list-style: none;
  padding: 0.75rem 0;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks .wp-block-details summary::-webkit-details-marker {
  display: none;
}

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

@media (min-width: 1024px) {
  body.otaru-winecarnival-page .lg\:flex { display: flex; }
}

/* ------------------------------------------------------------------
   フォント（元HTML: Noto Sans JP + font-sans）
   ------------------------------------------------------------------ */
html.otaru-winecarnival-page,
body.otaru-winecarnival-page,
body.otaru-winecarnival-page .otaru-winecarnival-blocks,
body.otaru-winecarnival-page .otaru-winecarnival-blocks :where(
  p, h1, h2, h3, h4, h5, h6, li, span, a, button, label, td, th, div
) {
  font-family: "Noto Sans JP", sans-serif;
}

body.otaru-winecarnival-page {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.625;
  color: #1e293b;
  background-color: #9ed2ed;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Font Awesome はアイコンフォントを維持 */
body.otaru-winecarnival-page .fa,
body.otaru-winecarnival-page .fas,
body.otaru-winecarnival-page .far,
body.otaru-winecarnival-page .fab,
body.otaru-winecarnival-page .fa-solid,
body.otaru-winecarnival-page .fa-brands {
  font-family: "Font Awesome 6 Free", "Font Awesome 6 Brands", sans-serif;
}

/* 元HTML: text-wine（注意書き・常時ワイン色。ホバーでは変えない） */
.otaru-winecarnival-page .text-wine,
.otaru-winecarnival-page .carnival-disclaimer,
.otaru-winecarnival-page p.text-wine,
.otaru-winecarnival-page span.text-wine,
.otaru-winecarnival-page h4.text-wine {
  color: #8c4362;
}

.otaru-winecarnival-page .text-wine:hover,
.otaru-winecarnival-page .carnival-disclaimer:hover,
.otaru-winecarnival-page p.text-wine:hover,
.otaru-winecarnival-page span.text-wine:hover {
  color: #8c4362;
}

/* 親段落のホバーで注意書きの色が変わらないよう固定 */
.otaru-winecarnival-page p.text-slate-500:hover .text-wine,
.otaru-winecarnival-page p.text-slate-500:hover .carnival-disclaimer {
  color: #8c4362;
}

.otaru-winecarnival-page .font-wine {
  font-weight: 700;
}

/* テーマ style.css の * { line-height:2 } / 見出し余白を打ち消し */
body.otaru-winecarnival-page .otaru-winecarnival-blocks :where(p, h1, h2, h3, h4, h5, h6, img) {
  padding-top: 0;
  padding-bottom: 0;
  margin-top: 0;
  margin-bottom: 0;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks p {
  margin-bottom: 0;
}

/* カスタムスクロールバー（index.html 同等） */
        ::-webkit-scrollbar {
            width: 8px;
        }
        ::-webkit-scrollbar-track {
            background: #f1f1f1;
        }
        ::-webkit-scrollbar-thumb {
  background: #0f2547;
            border-radius: 2px;
        }
        ::-webkit-scrollbar-thumb:hover {
  background: #1a3e70;
        }

        .menu-leader {
            flex-grow: 1;
  border-bottom: 2px dotted #a2d9ce;
            margin: 0 10px;
            position: relative;
            top: -4px;
        }

/* スクロール演出（JS 未読込時も表示） */
        .scroll-reveal {
  opacity: 1;
  transform: none;
  pointer-events: auto;
}

html.carnival-js-ready .scroll-reveal:not(.revealed) {
            opacity: 0;
            transform: translateY(40px);
            transition: opacity 0.7s cubic-bezier(0.25, 1, 0.5, 1), transform 0.7s cubic-bezier(0.25, 1, 0.5, 1);
            will-change: opacity, transform;
  pointer-events: none;
        }

html.carnival-js-ready .scroll-reveal.revealed {
            opacity: 1;
            transform: translateY(0);
  pointer-events: auto;
}

/* WordPress ラッパー（全幅レイアウト） */
.otaru-winecarnival-page .otaru-winecarnival-blocks,
.otaru-winecarnival-page .entry-content,
.editor-styles-wrapper .otaru-winecarnival-blocks {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.otaru-winecarnival-page .wp-block-html {
  max-width: none !important;
  margin: 0 !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #event .wp-block-html,
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) {
  width: 100% !important;
  max-width: 100% !important;
}

.otaru-winecarnival-page .wp-block-image img {
  max-width: none;
  height: auto;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #pairing .wp-block-image img,
body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery .wp-block-image img {
  max-width: 100% !important;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks #gallery .gallery-special-img .wp-block-image img {
  height: 100% !important;
  object-fit: cover !important;
}

/* テーマのリンク下線・アニメーションを無効化 */
body.otaru-winecarnival-page .otaru-winecarnival-blocks a,
body.otaru-winecarnival-page .otaru-winecarnival-blocks a:hover,
body.otaru-winecarnival-page .otaru-winecarnival-blocks a:focus {
  text-decoration: none;
}

body.otaru-winecarnival-page .otaru-winecarnival-blocks a::before,
body.otaru-winecarnival-page .otaru-winecarnival-blocks a:hover::before {
  display: none !important;
  content: none !important;
}

/* テント / キッチンカーバッジ（JS生成・本番 text-[8px] 準拠） */
#food-container .bg-palette-blue,
#food-container .bg-palette-mint {
  display: block;
  overflow: visible;
  white-space: normal;
  line-height: 1.15;
  text-align: center;
  font-size: 8px;
}

/* フッター著作権帯 */
body.otaru-winecarnival-page .w-full.text-center.py-4.bg-brand-darkblue {
  border-top: 2px solid #a2d9ce;
}

/* --- 特別イベント（#event）--- */
body.otaru-winecarnival-page #event .event-white-card,
body.otaru-winecarnival-page #event .wp-block-group.event-white-card {
  padding: 1.5rem !important;
}

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

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

body.otaru-winecarnival-page #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 {
  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;
}

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

body.otaru-winecarnival-page #event .event-stage-list .stage-item > div:first-child:not(.wp-block-group__inner-container) {
  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;
  flex-shrink: 0 !important;
}

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

  body.otaru-winecarnival-page #event .event-stage-list .stage-item > div:first-child {
    width: 12rem !important;
    height: 9rem !important;
  }
}

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

body.otaru-winecarnival-page #event .event-stage-list .stage-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
