/*
Theme Name: くつろぎ割烹 馳走
Theme URI:
Author: FAUCET
Description: 大分県臼杵市「くつろぎ割烹 馳走」オリジナルテーマ。
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: chisou
*/


  *, *::before, *::after { box-sizing: border-box; }
  body { margin: 0; background: #faf8f4; color: #1f2328; font-family: "Shippori Mincho B1", "Yu Mincho", "Hiragino Mincho ProN", serif; -webkit-font-smoothing: antialiased; }
  a { color: #14243f; text-decoration: none; transition: color .3s ease, opacity .3s ease; }
  a:hover { color: #c8b48d; }
  img { display: block; max-width: 100%; }
  button, input, select, textarea { font-family: inherit; }
  @keyframes heroFade { 0% { opacity: 0; } 6% { opacity: 1; } 30% { opacity: 1; } 40% { opacity: 0; } 100% { opacity: 0; } }
  @keyframes heroZoom { 0% { transform: scale(1.02); } 100% { transform: scale(1.12); } }
  @keyframes riseIn { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
  [data-reveal] { opacity: 0; transform: translateY(20px); transition: opacity 1.1s cubic-bezier(.22,.61,.36,1), transform 1.1s cubic-bezier(.22,.61,.36,1); will-change: opacity, transform; }
  [data-reveal].is-in { opacity: 1; transform: none; }
  @media (prefers-reduced-motion: reduce) { [data-reveal] { opacity: 1 !important; transform: none !important; transition: none !important; } }
  [data-panel] > img { transition: transform 1.2s cubic-bezier(.22,.61,.36,1), filter 1.2s ease; }
  [data-panel]:hover > img { transform: scale(1.08); filter: blur(3px) brightness(.9); }
  [data-panel] { cursor: pointer; }
  @media screen and (max-width: 700px) {
    [data-seat-img] { margin-bottom: 30px !important; }
    [data-kd] { flex-direction: column !important; flex-wrap: nowrap !important; align-items: stretch !important; gap: 20px !important; padding-left: 0 !important; padding-right: 0 !important; }
    [data-kd-img] { flex: none !important; width: 86% !important; max-width: none !important; }
    [data-kd-img] > div:first-child, [data-kd-img] > img { aspect-ratio: auto !important; height: 210px !important; object-fit: cover !important; }
    [data-kd-img] > div:first-child > img { height: 100% !important; }
    [data-kd-txt] { flex: none !important; padding-top: 0 !important; padding-bottom: 0 !important; }
    [data-kd-txt] > div { justify-content: flex-start !important; }
    [data-kd="1"] [data-kd-img], [data-kd="3"] [data-kd-img] { align-self: flex-start !important; }
    [data-kd="3"] [data-kd-img] > div:last-child { left: auto !important; right: clamp(-26px,-2.8vw,-12px) !important; bottom: clamp(-22px,-2.4vw,-10px) !important; }
    [data-kd="2"] [data-kd-img] { align-self: flex-end !important; order: -1; }
    [data-kd="2"] [data-kd-img] > div:last-child { right: auto !important; top: auto !important; left: clamp(-26px,-2.8vw,-12px) !important; bottom: clamp(-22px,-2.4vw,-10px) !important; }
    [data-kd="2"] [data-kd-txt] > div { justify-content: flex-end !important; flex-direction: row-reverse !important; }
    [data-cc-wa] { width: 78% !important; height: 46% !important; bottom: 0 !important; opacity: .34 !important; }
    [data-cc-row1] { flex-direction: column !important; align-items: center !important; gap: 30px !important; }
    [data-cc-titlegrp] { order: -1; }
    [data-cc-titlegrp] h1 { font-size: 27px !important; letter-spacing: .26em !important; }
    [data-cc-hero] { max-width: none !important; width: calc(90% + 20px) !important; align-self: flex-start !important; margin-left: -20px !important; margin-right: auto !important; aspect-ratio: auto !important; height: 160px !important; object-fit: cover !important; }
    [data-cc-row2] { flex-direction: column-reverse !important; align-items: stretch !important; gap: 26px !important; }
    [data-cc-text] { writing-mode: horizontal-tb !important; height: auto !important; flex: 1 1 100% !important; padding-top: 0 !important; }
    [data-cc-text] p { margin: 0 0 16px 0 !important; line-height: 2.15 !important; letter-spacing: .06em !important; }
    [data-cc-text] p:last-child { margin-bottom: 0 !important; }
    [data-cc-offset] { margin-top: 0 !important; max-width: none !important; }
    [data-cc-row2] > [data-cc-offset] { width: calc(90% + 20px) !important; align-self: flex-end !important; margin-left: auto !important; margin-right: -20px !important; aspect-ratio: auto !important; height: 160px !important; object-fit: cover !important; }
    [data-cc-row3] { flex-direction: column !important; gap: 0 !important; }
    [data-cc-row3] > [data-cc-offset] { width: calc(85% + 70px) !important; align-self: flex-end !important; margin-left: auto !important; margin-right: -70px !important; margin-bottom: -34px !important; position: relative; z-index: 1; }
    [data-cc-row3] > div { position: relative; z-index: 2; }
    [data-cc-pair] { flex-wrap: nowrap !important; align-items: flex-start !important; gap: 0 !important; }
    [data-cc-sq1] { flex: 0 0 48% !important; margin-left: -20px !important; margin-right: 0 !important; position: relative; z-index: 3; }
    [data-cc-sq2] { flex: 0 0 62% !important; margin-left: auto !important; margin-right: -20px !important; margin-top: 56px !important; margin-bottom: 0 !important; position: relative; z-index: 4; }
    [data-cc-btn] { align-self: center !important; width: 80% !important; min-width: 0 !important; margin-top: 30px !important; padding: 17px 20px !important; font-size: 13px !important; }
  }
  @media screen and (max-width: 900px) {
    [data-hdr-full] { display: none !important; }
    [data-hdr-burger] { display: flex !important; }
    #sticky-bar { display: none !important; }
  }
  @keyframes emphBreath { 0%, 100% { opacity: 1; text-shadow: 0 0 0 rgba(164,48,43,0); } 50% { opacity: .82; text-shadow: 0 0 14px rgba(164,48,43,.28); } }

  button { font-family: inherit; }
  [data-fixedbg] { opacity: 1 !important; transition: none !important; }
  main > section { order: 1; }
  main > section[data-order="2"] { order: 2; }
  main > section[data-order="3"] { order: 3; }
  main > section[data-order="4"] { order: 4; }
  button, input, textarea { font-family: inherit; }

@media screen and (max-width: 700px) {
    [data-chef-row] { flex-direction: column-reverse !important; padding-top: 50px !important; }
    [data-wish] { padding-top: 50px !important; }
    [data-chef-img] { margin-left: 0 !important; max-width: none !important; }
    [data-rot-grid] { grid-template-columns: repeat(3, 1fr) !important; }
    [data-rot-grid] > img:nth-child(n+4) { display: none !important; }
    [data-shots] { flex-direction: column !important; gap: 20px !important; margin-left: calc(clamp(20px,4vw,48px) * -1) !important; margin-right: calc(clamp(20px,4vw,48px) * -1) !important; }
    [data-shots] > img { flex: none !important; width: 80% !important; aspect-ratio: 4/3 !important; align-self: flex-start !important; }
    [data-shots] > div { flex: none !important; width: 100% !important; gap: 20px !important; }
    [data-shots] > div > img:first-child { width: 60% !important; align-self: flex-end !important; margin-left: auto !important; aspect-ratio: 4/3 !important; }
    [data-shots] > div > img:last-child { width: 100% !important; aspect-ratio: 3/4 !important; }
    [data-course-row] { flex-direction: column !important; }
    [data-feat] { flex-direction: column !important; gap: 0 !important; }
    [data-feat] > img { width: 100% !important; aspect-ratio: 16/10 !important; }
    [data-feat] > div { padding: clamp(20px,2.4vw,32px) !important; }
    [data-menu-grid] { grid-template-columns: 1fr !important; }
    [data-cta-btns] { flex-wrap: nowrap !important; }
    [data-lead-row] { flex-direction: column !important; }
    [data-drink-grid] { column-count: 1 !important; }
    [data-news-card] { flex-direction: column !important; }
    [data-news-thumb] { width: 100% !important; flex: none !important; aspect-ratio: 16/10 !important; }
    [data-detail-grid] { flex-direction: column !important; }
    [data-side] { width: 100% !important; flex: none !important; }
    [data-res-row] { flex-direction: column !important; }
    [data-res-btns] { width: 100% !important; }
    [data-res-btns] > a { width: 100% !important; }
    [data-submit] { width: 100% !important; }
}

/* hover states (converted from inline style-hover) */
.hv1:hover{background: rgba(255,255,255,.14); border-color: #ffffff;}
.hv2:hover{border-color: #c8b48d; box-shadow: 0 8px 26px rgba(20,36,63,.08);}
.hv3:hover{background: #f2ede3;}
.hv4:hover{background: #1c3055;}
.hv5:hover{background: rgba(200,180,141,.16);}
.hv6:hover{background: #d8c6a3;}

/* WordPress core */
.chisou-entry p { margin: 0 0 24px; font-size: clamp(13px,1.15vw,15px); line-height: 2.4; letter-spacing: .06em; color: #292d32; }
.chisou-entry h2 { margin: 40px 0 18px; font-size: clamp(17px,1.9vw,23px); font-weight: 600; letter-spacing: .12em; color: #111f36; }
.chisou-entry h3 { margin: 32px 0 14px; font-size: clamp(15px,1.6vw,19px); font-weight: 600; letter-spacing: .12em; color: #111f36; }
.chisou-entry img { width: 100%; height: auto; margin: 8px 0 24px; }
.chisou-entry ul, .chisou-entry ol { margin: 0 0 24px; padding-left: 1.6em; font-size: clamp(13px,1.15vw,15px); line-height: 2.2; color: #292d32; }
.chisou-entry a { text-decoration: underline; }
.chisou-entry blockquote { margin: 0 0 24px; padding: 18px 22px; background: #f2ede3; font-size: 14px; line-height: 2.1; }
.chisou-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; border: 1px solid #d8d2c4; color: #6b6a66; font-family: 'Zen Old Mincho', serif; font-size: 14px; }
.chisou-pagination .page-numbers.current { background: #111f36; border-color: #111f36; color: #f4f1ea; }
.alignwide, .alignfull { max-width: 100%; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); }

/* テーマ全体のコンテナ（vw / @container の基準） */
.chisou-frame { position: relative; width: 100%; margin: 0 auto; background: #faf8f4; overflow-x: hidden; }
.chisou-frame main { display: block; }

@supports (-webkit-touch-callout: none) {
  [data-fixedbg] { background-attachment: scroll !important; }
}

/* 固定背景の安定化（祖先の transform / will-change を打ち消す） */
[data-reveal].is-in { will-change: auto; }
[data-fixedbg] { transform: none !important; will-change: auto !important; filter: none !important; opacity: 1 !important; }
[data-fixedbg], [data-fixedbg] * { backface-visibility: visible; }
