/*
Theme Name: HAUTE COUTURE CAFE
Theme URI: https://www.hautecouturecafe.com/
Description: Twenty Twenty-Five の子テーマ。配色とフォントは現行サイトの実測（Zen Old Mincho / #ef4a5f / #f8f6f4 / #743a2e）から起こしている。
Author: Vision Platform
Template: twentytwentyfive
Version: 1.0.0
Text Domain: hcc-theme
*/

/* ---- プラン一覧（プラグイン側のマークアップに当てる装飾） ---- */
.hcc-season{
  max-width:40rem;margin:0 auto var(--wp--preset--spacing--50);
  text-align:center;line-height:2.2;
}
.hcc-plans{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));
  gap:var(--wp--preset--spacing--40);
}
.hcc-plan{
  background:var(--wp--preset--color--base);
  border:1px solid var(--wp--preset--color--line);
  padding:0 0 var(--wp--preset--spacing--30);
  display:flex;flex-direction:column;
}
.hcc-plan__img{aspect-ratio:1/1;overflow:hidden;background:var(--wp--preset--color--canvas)}
.hcc-plan__img img{width:100%;height:100%;object-fit:cover;display:block}
.hcc-plan__name{
  font-family:var(--wp--preset--font-family--mincho);
  font-size:.9375rem;line-height:1.8;letter-spacing:.04em;
  color:var(--wp--preset--color--cocoa);
  margin:var(--wp--preset--spacing--30) var(--wp--preset--spacing--30) .4rem;
}
.hcc-plan__price{
  font-family:var(--wp--preset--font-family--mincho);
  font-size:1.375rem;color:var(--wp--preset--color--brand);
  margin:0 var(--wp--preset--spacing--30) .6rem;
}
.hcc-plan__price span{font-size:.75rem;margin-left:.3em;color:var(--wp--preset--color--contrast)}
.hcc-plan__slot{font-size:.8125rem;margin:0 var(--wp--preset--spacing--30) .8rem;opacity:.75}
.hcc-plan__desc{font-size:.875rem;line-height:2;margin:0 var(--wp--preset--spacing--30) var(--wp--preset--spacing--30)}
.hcc-plan__desc p{margin:0 0 .6em}
.hcc-plan__btns{margin:auto var(--wp--preset--spacing--30) 0;display:flex;flex-direction:column;gap:.5rem}
.hcc-plan__btn{
  display:block;text-align:center;padding:.85em 1em;text-decoration:none;
  background:var(--wp--preset--color--brand);color:var(--wp--preset--color--base);
  font-size:.8125rem;letter-spacing:.1em;border:0;border-radius:2px;
  transition:background .2s;
}
.hcc-plan__btn:hover{background:var(--wp--preset--color--cocoa);color:var(--wp--preset--color--base)}
.hcc-plans__tel{
  text-align:center;margin:var(--wp--preset--spacing--40) 0 0;
  font-size:.875rem;letter-spacing:.06em;
}
.hcc-plans__tel a{
  font-family:var(--wp--preset--font-family--mincho);
  font-size:1.375rem;text-decoration:none;color:var(--wp--preset--color--cocoa);
  border-bottom:1px solid var(--wp--preset--color--line);margin-left:.5em;
}
.hcc-plans__empty{text-align:center;opacity:.6}

/* ---- 言語切り替え ---- */
.hcc-lang{
  display:flex;gap:1rem;justify-content:flex-end;
  margin:0 0 var(--wp--preset--spacing--40);
  font-family:var(--wp--preset--font-family--mincho);
  font-size:.75rem;letter-spacing:.18em;
}
.hcc-lang__current{color:var(--wp--preset--color--brand);border-bottom:1px solid currentColor;padding-bottom:.15em}
.hcc-lang__link{text-decoration:none;color:var(--wp--preset--color--contrast);opacity:.45;padding-bottom:.15em}
.hcc-lang__link:hover{opacity:1;color:var(--wp--preset--color--brand)}
.hcc-lang__off{opacity:.2}

/* ---- 見出しの下に細い罫を入れる ---- */
.entry-content h2{
  text-align:center;margin-top:var(--wp--preset--spacing--60);
  padding-bottom:var(--wp--preset--spacing--20);
}
.entry-content h2::after{
  content:"";display:block;width:2.5rem;height:1px;
  background:var(--wp--preset--color--brand-soft);
  margin:var(--wp--preset--spacing--20) auto 0;
}

/* ---- ヘッダー（ペールピンク #edcecb・文字はココアでコントラスト6.0:1） ---- */
.hcc-header{border-bottom:0}
.hcc-header .wp-block-site-title a{color:var(--wp--preset--color--cocoa);text-decoration:none}
.hcc-header .wp-block-navigation a{color:var(--wp--preset--color--cocoa);text-decoration:none;opacity:.85}
.hcc-header .wp-block-navigation a:hover{opacity:1;text-decoration:underline;text-underline-offset:.4em}
.hcc-header .wp-block-navigation__responsive-container-open svg,
.hcc-header .wp-block-navigation__responsive-container-close svg{fill:var(--wp--preset--color--cocoa)}

/* ---- フッター（ヘッダーと同じ #edcecb・文字はココア） ---- */
.hcc-footer{border-top:1px solid rgba(116,58,46,.15)}
.hcc-footer .wp-block-site-title a{color:var(--wp--preset--color--cocoa);text-decoration:none;letter-spacing:.28em}
.hcc-footer a{color:var(--wp--preset--color--cocoa)}
.hcc-footer .wp-block-social-link{opacity:.8}
.hcc-footer .wp-block-social-link:hover{opacity:1}

/* 言語切替をヘッダーに置いたときの見え方（本文用の余白を打ち消す） */
.hcc-header .hcc-lang{margin:0;justify-content:flex-start;font-size:.6875rem;letter-spacing:.16em}
.hcc-header .hcc-lang__current{color:var(--wp--preset--color--cocoa);border-bottom:1px solid currentColor}
.hcc-header .hcc-lang__link{color:var(--wp--preset--color--cocoa);opacity:.4}
.hcc-header .hcc-lang__link:hover{opacity:1;color:var(--wp--preset--color--cocoa)}

/* ---- Googleマップの埋め込み ---- */
.hcc-map{
  position:relative;width:100%;aspect-ratio:16/9;
  margin:var(--wp--preset--spacing--30) 0;
  background:var(--wp--preset--color--line);
  border:1px solid var(--wp--preset--color--line);
  overflow:hidden;
}
.hcc-map iframe{position:absolute;inset:0;width:100%;height:100%;display:block}
@media (max-width:600px){ .hcc-map{aspect-ratio:4/3} }

/* ---- ページタイトル ----
 * 日本語と欧文が混ざる長い見出しで、改行位置が不自然になっていた。
 * word-break:auto-phrase で文節単位に折り、text-wrap:balance で行長を均す。
 * 字間は見出し既定(.08em)より詰めて、折り返しの発生自体を減らす。 */
.wp-block-post-title{
  text-align:center;
  max-width:24em;
  margin-inline:auto;
  margin-block:var(--wp--preset--spacing--30) var(--wp--preset--spacing--20);
  font-size:clamp(1.125rem, .95rem + .9vw, 1.5rem);
  line-height:2.1;
  letter-spacing:.04em;
  font-weight:400;
  word-break:auto-phrase;
  overflow-wrap:break-word;
  text-wrap:balance;
}
@media (max-width:600px){
  .wp-block-post-title{ line-height:1.9; letter-spacing:.02em; max-width:18em }
}

/* ---- 節の本文も中央に寄せる（見出しが中央のため） ---- */
.hcc-center{ text-align:center }

/* ---- タイトル直下の副題 ----
 * 「〜アフタヌーンティー専門店〜」をタイトルの2行目として見せる。
 * H1に含めず別要素にしたのは、<title>タグと構造化データを短く保つため。 */
.hcc-subtitle{
  text-align:center;
  font-family:var(--wp--preset--font-family--mincho);
  font-size:clamp(.8125rem, .75rem + .35vw, 1rem);
  letter-spacing:.12em;
  line-height:1.8;
  color:var(--wp--preset--color--cocoa);
  opacity:.85;
  margin:calc(var(--wp--preset--spacing--30) * -1) 0 var(--wp--preset--spacing--50);
}

/* ---- 最新情報（PR TIMES・画像付き） ---- */
.hcc-news{max-width:52rem;margin:0 auto}
.hcc-news__list{list-style:none;margin:0;padding:0;border-top:1px solid var(--wp--preset--color--line)}
.hcc-news__item{
  display:grid;grid-template-columns:7.5rem 1fr;gap:0 1.5rem;align-items:start;
  padding:1.25rem 0;border-bottom:1px solid var(--wp--preset--color--line);
}
.hcc-news__thumb{
  display:block;aspect-ratio:4/3;overflow:hidden;
  background:var(--wp--preset--color--line);border:1px solid var(--wp--preset--color--line);
}
.hcc-news__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.hcc-news__thumb--empty{opacity:.35}
.hcc-news__body{min-width:0}
.hcc-news__date{
  display:block;font-family:var(--wp--preset--font-family--mincho);
  font-size:.8125rem;letter-spacing:.08em;color:var(--wp--preset--color--cocoa);
  opacity:.7;margin-bottom:.35rem;
}
.hcc-news__link{
  font-size:.9375rem;line-height:1.9;text-decoration:none;
  color:var(--wp--preset--color--contrast);word-break:auto-phrase;
}
.hcc-news__link:hover{color:var(--wp--preset--color--brand);text-decoration:underline;text-underline-offset:.3em}
.hcc-news__note{font-size:.75rem;opacity:.6;text-align:right;margin:var(--wp--preset--spacing--20) 0 0}
@media (max-width:600px){
  .hcc-news__item{grid-template-columns:5rem 1fr;gap:0 1rem;padding:1rem 0}
  .hcc-news__link{font-size:.875rem;line-height:1.8}
}

}

/* ---- シーズン共通のメイン写真 ----
 * 同じ写真がカードの数だけ並ぶのをやめ、共通説明の下に1枚だけ置く。
 * 差はプラン名・価格・固有の一文で付ける。 */
.hcc-season__img{
  margin:var(--wp--preset--spacing--40) 0 0;
  aspect-ratio:3/2;overflow:hidden;
  background:var(--wp--preset--color--line);
  border:1px solid var(--wp--preset--color--line);
}
.hcc-season__img img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:600px){ .hcc-season__img{aspect-ratio:4/3} }

/* 写真を持たないカード（共通写真に寄せたもの）の見え方 */
.hcc-plan--noimg{
  padding-top:var(--wp--preset--spacing--30);
  border-top:2px solid var(--wp--preset--color--brand-soft);
}
.hcc-plan--noimg .hcc-plan__name{margin-top:0}

/* ---- カードの余白と中央揃え（2026-09-08 調整） ----
 * 写真を共通化してカードが文字だけになったため、余白で1枚ずつを切り分ける。
 * 見出し・シーズン説明が中央のため、カードも中央に揃えて筋を通す。 */
.hcc-plans{
  grid-template-columns:repeat(auto-fill,minmax(19rem,1fr));
  gap:var(--wp--preset--spacing--40) var(--wp--preset--spacing--30);
  margin-top:var(--wp--preset--spacing--50);
}
.hcc-plan{
  padding:var(--wp--preset--spacing--40) var(--wp--preset--spacing--30);
  text-align:center;
  gap:0;
}
.hcc-plan--noimg{padding-top:var(--wp--preset--spacing--40)}
.hcc-plan__img{margin:calc(var(--wp--preset--spacing--40) * -1) calc(var(--wp--preset--spacing--30) * -1) var(--wp--preset--spacing--30)}
.hcc-plan__name{
  text-align:center;
  margin:0 0 var(--wp--preset--spacing--20);
  font-size:.9375rem;line-height:1.9;
  word-break:auto-phrase;text-wrap:balance;
}
.hcc-plan__price{
  text-align:center;
  margin:0 0 var(--wp--preset--spacing--20);
  font-size:1.5rem;
}
.hcc-plan__slot{text-align:center;margin:0 0 var(--wp--preset--spacing--20)}
.hcc-plan__desc{
  text-align:center;
  margin:0 0 var(--wp--preset--spacing--30);
  font-size:.875rem;line-height:2;
}
.hcc-plan__desc p{margin:0}
.hcc-plan__btns{margin-top:auto;padding-top:var(--wp--preset--spacing--20)}

/* ---- カードを柔らかく見せる（2026-09-08 調整） ----
 * 影はグレーではなくブランド色（ココア＋ローズ）を薄めて使う。
 * 無彩色の影は硬く見え、淡いピンクの地色から浮いてしまう。 */
.hcc-plan{
  border-radius:18px;
  border-color:rgba(228,221,215,.9);
  background:var(--wp--preset--color--base);
  box-shadow:
    0 10px 28px rgba(116,58,46,.10),
    0 3px 10px rgba(239,74,95,.07);
  transition:transform .25s ease, box-shadow .25s ease;
}
.hcc-plan:hover{
  transform:translateY(-4px);
  box-shadow:
    0 18px 40px rgba(116,58,46,.15),
    0 6px 16px rgba(239,74,95,.12);
}
/* 写真ありのカードは上の角を丸める（写真が角からはみ出さないように） */
.hcc-plan__img{border-radius:18px 18px 0 0;overflow:hidden}
/* 写真なしのカードは、上端の線を角丸に合わせて内側に寄せる */
.hcc-plan--noimg{
  border-top:1px solid rgba(228,221,215,.9);
  position:relative;
}
.hcc-plan--noimg::before{
  content:"";position:absolute;left:50%;top:0;transform:translateX(-50%);
  width:3.5rem;height:3px;border-radius:0 0 3px 3px;
  background:var(--wp--preset--color--brand-soft);
}
/* ボタンを丸くする */
.hcc-plan__btn{
  border-radius:999px;
  box-shadow:0 4px 12px rgba(239,74,95,.22);
}
.hcc-plan__btn:hover{box-shadow:0 6px 18px rgba(116,58,46,.25)}
/* 共通写真と地図も角を丸めて硬さを取る */
.hcc-season__img{border-radius:18px;box-shadow:0 10px 28px rgba(116,58,46,.10)}
.hcc-map{border-radius:14px}
/* 動きを抑える設定の端末では浮かせない */
@media (prefers-reduced-motion:reduce){
  .hcc-plan{transition:none}
  .hcc-plan:hover{transform:none}
}

/* ---- ヘッダーのナビ（言語別） ---- */
.hcc-nav__list{list-style:none;display:flex;gap:1.5rem;margin:0;padding:0;flex-wrap:wrap}
.hcc-nav__link{
  font-size:.8125rem;letter-spacing:.08em;text-decoration:none;
  color:var(--wp--preset--color--cocoa);opacity:.75;padding-bottom:.2em;
}
.hcc-nav__link:hover{opacity:1}
.hcc-nav__link.is-current{opacity:1;border-bottom:1px solid var(--wp--preset--color--brand-soft)}
.hcc-header__right{gap:1.5rem}

/* ---- 画面幅ごとの左右余白（2026-09-08 修正） ----
 * 変数名は --wp--style--root--padding-left（root と padding の間はハイフン2本）。
 * 1本だと効かない。theme.json 側で既定を 1.5rem にし、狭い画面でさらに詰める。 */
@media (max-width:781px){
  body{
    --wp--style--root--padding-left:1rem;
    --wp--style--root--padding-right:1rem;
  }
}
@media (max-width:600px){
  body{
    --wp--style--root--padding-left:.75rem;
    --wp--style--root--padding-right:.75rem;
  }
  .hcc-header, .hcc-footer{padding-left:.75rem !important;padding-right:.75rem !important}
  .hcc-plans{grid-template-columns:1fr;gap:1.25rem}
  .hcc-plan{padding:1.5rem 1.25rem;border-radius:14px}
  .hcc-plan__img{border-radius:14px 14px 0 0;margin:-1.5rem -1.25rem 1.25rem}
  .hcc-season, .hcc-news{max-width:none}
  .hcc-nav__list{gap:1.1rem}
  .hcc-header__right{gap:1rem}
}
@media (max-width:400px){
  body{
    --wp--style--root--padding-left:.5rem;
    --wp--style--root--padding-right:.5rem;
  }
  .hcc-header, .hcc-footer{padding-left:.5rem !important;padding-right:.5rem !important}
  .hcc-plan{padding:1.25rem 1rem}
  .hcc-plan__img{margin:-1.25rem -1rem 1rem}
}

/* ---- タイトル直下の副題 ----
 * 「〜アフタヌーンティー専門店〜」をタイトルの2行目として見せる。
 * H1に含めず別要素にしたのは、<title>タグと構造化データを短く保つため。 */
.hcc-subtitle{
  text-align:center;
  font-family:var(--wp--preset--font-family--mincho);
  font-size:clamp(.8125rem, .75rem + .35vw, 1rem);
  letter-spacing:.12em;
  line-height:1.8;
  color:var(--wp--preset--color--cocoa);
  opacity:.85;
  margin:calc(var(--wp--preset--spacing--30) * -1) 0 var(--wp--preset--spacing--50);
}

/* ---- 最新情報（PR TIMES・画像付き） ---- */
.hcc-news{max-width:52rem;margin:0 auto}
.hcc-news__list{list-style:none;margin:0;padding:0;border-top:1px solid var(--wp--preset--color--line)}
.hcc-news__item{
  display:grid;grid-template-columns:7.5rem 1fr;gap:0 1.5rem;align-items:start;
  padding:1.25rem 0;border-bottom:1px solid var(--wp--preset--color--line);
}
.hcc-news__thumb{
  display:block;aspect-ratio:4/3;overflow:hidden;
  background:var(--wp--preset--color--line);border:1px solid var(--wp--preset--color--line);
}
.hcc-news__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.hcc-news__thumb--empty{opacity:.35}
.hcc-news__body{min-width:0}
.hcc-news__date{
  display:block;font-family:var(--wp--preset--font-family--mincho);
  font-size:.8125rem;letter-spacing:.08em;color:var(--wp--preset--color--cocoa);
  opacity:.7;margin-bottom:.35rem;
}
.hcc-news__link{
  font-size:.9375rem;line-height:1.9;text-decoration:none;
  color:var(--wp--preset--color--contrast);word-break:auto-phrase;
}
.hcc-news__link:hover{color:var(--wp--preset--color--brand);text-decoration:underline;text-underline-offset:.3em}
.hcc-news__note{font-size:.75rem;opacity:.6;text-align:right;margin:var(--wp--preset--spacing--20) 0 0}
@media (max-width:600px){
  .hcc-news__item{grid-template-columns:5rem 1fr;gap:0 1rem;padding:1rem 0}
  .hcc-news__link{font-size:.875rem;line-height:1.8}
}

}

/* ---- シーズン共通のメイン写真 ----
 * 同じ写真がカードの数だけ並ぶのをやめ、共通説明の下に1枚だけ置く。
 * 差はプラン名・価格・固有の一文で付ける。 */
.hcc-season__img{
  margin:var(--wp--preset--spacing--40) 0 0;
  aspect-ratio:3/2;overflow:hidden;
  background:var(--wp--preset--color--line);
  border:1px solid var(--wp--preset--color--line);
}
.hcc-season__img img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:600px){ .hcc-season__img{aspect-ratio:4/3} }

/* 写真を持たないカード（共通写真に寄せたもの）の見え方 */
.hcc-plan--noimg{
  padding-top:var(--wp--preset--spacing--30);
  border-top:2px solid var(--wp--preset--color--brand-soft);
}
.hcc-plan--noimg .hcc-plan__name{margin-top:0}

/* ---- カードの余白と中央揃え（2026-09-08 調整） ----
 * 写真を共通化してカードが文字だけになったため、余白で1枚ずつを切り分ける。
 * 見出し・シーズン説明が中央のため、カードも中央に揃えて筋を通す。 */
.hcc-plans{
  grid-template-columns:repeat(auto-fill,minmax(19rem,1fr));
  gap:var(--wp--preset--spacing--40) var(--wp--preset--spacing--30);
  margin-top:var(--wp--preset--spacing--50);
}
.hcc-plan{
  padding:var(--wp--preset--spacing--40) var(--wp--preset--spacing--30);
  text-align:center;
  gap:0;
}
.hcc-plan--noimg{padding-top:var(--wp--preset--spacing--40)}
.hcc-plan__img{margin:calc(var(--wp--preset--spacing--40) * -1) calc(var(--wp--preset--spacing--30) * -1) var(--wp--preset--spacing--30)}
.hcc-plan__name{
  text-align:center;
  margin:0 0 var(--wp--preset--spacing--20);
  font-size:.9375rem;line-height:1.9;
  word-break:auto-phrase;text-wrap:balance;
}
.hcc-plan__price{
  text-align:center;
  margin:0 0 var(--wp--preset--spacing--20);
  font-size:1.5rem;
}
.hcc-plan__slot{text-align:center;margin:0 0 var(--wp--preset--spacing--20)}
.hcc-plan__desc{
  text-align:center;
  margin:0 0 var(--wp--preset--spacing--30);
  font-size:.875rem;line-height:2;
}
.hcc-plan__desc p{margin:0}
.hcc-plan__btns{margin-top:auto;padding-top:var(--wp--preset--spacing--20)}

/* ---- カードを柔らかく見せる（2026-09-08 調整） ----
 * 影はグレーではなくブランド色（ココア＋ローズ）を薄めて使う。
 * 無彩色の影は硬く見え、淡いピンクの地色から浮いてしまう。 */
.hcc-plan{
  border-radius:18px;
  border-color:rgba(228,221,215,.9);
  background:var(--wp--preset--color--base);
  box-shadow:
    0 10px 28px rgba(116,58,46,.10),
    0 3px 10px rgba(239,74,95,.07);
  transition:transform .25s ease, box-shadow .25s ease;
}
.hcc-plan:hover{
  transform:translateY(-4px);
  box-shadow:
    0 18px 40px rgba(116,58,46,.15),
    0 6px 16px rgba(239,74,95,.12);
}
/* 写真ありのカードは上の角を丸める（写真が角からはみ出さないように） */
.hcc-plan__img{border-radius:18px 18px 0 0;overflow:hidden}
/* 写真なしのカードは、上端の線を角丸に合わせて内側に寄せる */
.hcc-plan--noimg{
  border-top:1px solid rgba(228,221,215,.9);
  position:relative;
}
.hcc-plan--noimg::before{
  content:"";position:absolute;left:50%;top:0;transform:translateX(-50%);
  width:3.5rem;height:3px;border-radius:0 0 3px 3px;
  background:var(--wp--preset--color--brand-soft);
}
/* ボタンを丸くする */
.hcc-plan__btn{
  border-radius:999px;
  box-shadow:0 4px 12px rgba(239,74,95,.22);
}
.hcc-plan__btn:hover{box-shadow:0 6px 18px rgba(116,58,46,.25)}
/* 共通写真と地図も角を丸めて硬さを取る */
.hcc-season__img{border-radius:18px;box-shadow:0 10px 28px rgba(116,58,46,.10)}
.hcc-map{border-radius:14px}
/* 動きを抑える設定の端末では浮かせない */
@media (prefers-reduced-motion:reduce){
  .hcc-plan{transition:none}
  .hcc-plan:hover{transform:none}
}

/* ---- ヘッダーのナビ（言語別） ---- */
.hcc-nav__list{list-style:none;display:flex;gap:1.5rem;margin:0;padding:0;flex-wrap:wrap}
.hcc-nav__link{
  font-size:.8125rem;letter-spacing:.08em;text-decoration:none;
  color:var(--wp--preset--color--cocoa);opacity:.75;padding-bottom:.2em;
}
.hcc-nav__link:hover{opacity:1}
.hcc-nav__link.is-current{opacity:1;border-bottom:1px solid var(--wp--preset--color--brand-soft)}
.hcc-header__right{gap:1.5rem}

/* ---- スマートフォンの左右余白を詰める（2026-09-08 調整） ----
 * 既定の余白（1.5rem）だと画面が狭いときに本文の幅が足りない。
 * カード内側も詰め、1列表示にする。 */
@media (max-width:600px){
  :root{
    --wp--style--root-padding-left:1rem;
    --wp--style--root-padding-right:1rem;
  }
  .has-global-padding{padding-left:1rem;padding-right:1rem}
  .has-global-padding > .alignfull{margin-left:-1rem;margin-right:-1rem}
  .hcc-header, .hcc-footer{padding-left:1rem !important;padding-right:1rem !important}
  .hcc-plans{grid-template-columns:1fr;gap:1.25rem}
  .hcc-plan{padding:1.5rem 1.25rem;border-radius:14px}
  .hcc-plan__img{border-radius:14px 14px 0 0;margin:-1.5rem -1.25rem 1.25rem}
  .hcc-season, .hcc-news{max-width:none}
  .hcc-nav__list{gap:1.1rem}
  .hcc-header__right{gap:1rem}
}
@media (max-width:400px){
  .has-global-padding{padding-left:.75rem;padding-right:.75rem}
  .hcc-header, .hcc-footer{padding-left:.75rem !important;padding-right:.75rem !important}
  .hcc-plan{padding:1.25rem 1rem}
  .hcc-plan__img{margin:-1.25rem -1rem 1rem}
}

/* ---- 次シーズンの予告（転換日など、掲載中が無いとき） ---- */
.hcc-plans__upcoming{
  text-align:center;
  font-family:var(--wp--preset--font-family--mincho);
  font-size:.9375rem;letter-spacing:.06em;
  color:var(--wp--preset--color--cocoa);
  background:var(--wp--preset--color--base);
  border:1px solid var(--wp--preset--color--brand-soft);
  border-radius:999px;
  padding:.8em 1.5em;
  max-width:fit-content;
  margin:0 auto var(--wp--preset--spacing--40);
  box-shadow:0 4px 14px rgba(239,74,95,.10);
}

/* ---- タイトル直下の紹介文 ----
 * 文末で改行し中央に置く。1文ずつが独立して読めるようにする。
 * 折り返しが生じる長い文は文節単位で折る。 */
.hcc-intro{
  max-width:40rem;margin:0 auto var(--wp--preset--spacing--50);
  text-align:center;
  font-size:.9375rem;line-height:2.2;letter-spacing:.03em;
  word-break:auto-phrase;text-wrap:pretty;
}
@media (max-width:600px){
  .hcc-intro{max-width:none;line-height:2.05;font-size:.875rem}
}

/* ---- TOPページの店舗一覧 ---- */
.hcc-stores{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(22rem,1fr));
  gap:var(--wp--preset--spacing--40);
  margin:var(--wp--preset--spacing--50) 0;
}
.hcc-store{
  background:var(--wp--preset--color--base);
  border:1px solid rgba(228,221,215,.9);
  border-radius:18px;overflow:hidden;
  box-shadow:0 10px 28px rgba(116,58,46,.10), 0 3px 10px rgba(239,74,95,.07);
  transition:transform .25s ease, box-shadow .25s ease;
  display:flex;flex-direction:column;
}
.hcc-store:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(116,58,46,.15), 0 6px 16px rgba(239,74,95,.12)}
.hcc-store__img{display:block;aspect-ratio:3/2;overflow:hidden;background:var(--wp--preset--color--line)}
.hcc-store__img img{width:100%;height:100%;object-fit:cover;display:block}
.hcc-store__body{
  padding:var(--wp--preset--spacing--40) var(--wp--preset--spacing--30);
  text-align:center;display:flex;flex-direction:column;flex:1;
}
.hcc-store__name{
  font-family:var(--wp--preset--font-family--mincho);
  font-size:1.125rem;letter-spacing:.1em;line-height:1.7;
  color:var(--wp--preset--color--cocoa);margin:0 0 .5rem;
}
.hcc-store__addr{font-size:.8125rem;line-height:1.9;opacity:.75;margin:0 0 1.1rem}
.hcc-store__season{
  font-family:var(--wp--preset--font-family--mincho);
  font-size:.9375rem;line-height:1.8;margin:0 0 .3rem;
  color:var(--wp--preset--color--contrast);
}
.hcc-store__note{
  display:inline-block;font-size:.75rem;letter-spacing:.06em;
  border:1px solid var(--wp--preset--color--brand-soft);border-radius:999px;
  padding:.35em 1em;margin:0 auto .6rem;color:var(--wp--preset--color--cocoa);
}
.hcc-store__price{
  font-family:var(--wp--preset--font-family--mincho);
  font-size:1.375rem;color:var(--wp--preset--color--brand);margin:0 0 .8rem;
}
.hcc-store__price span{font-size:.75rem;margin-left:.3em;color:var(--wp--preset--color--contrast)}
.hcc-store__hours{font-size:.75rem;line-height:2;opacity:.7;margin:0 0 var(--wp--preset--spacing--30)}
.hcc-store__links{margin-top:auto;display:flex;flex-direction:column;gap:.6rem}
.hcc-store__more,.hcc-store__book{
  display:block;text-align:center;padding:.85em 1em;text-decoration:none;
  font-size:.8125rem;letter-spacing:.1em;border-radius:999px;
}
.hcc-store__more{border:1px solid var(--wp--preset--color--cocoa);color:var(--wp--preset--color--cocoa)}
.hcc-store__more:hover{background:var(--wp--preset--color--cocoa);color:var(--wp--preset--color--base)}
.hcc-store__book{
  background:var(--wp--preset--color--brand);color:var(--wp--preset--color--base);
  box-shadow:0 4px 12px rgba(239,74,95,.22);
}
.hcc-store__book:hover{background:var(--wp--preset--color--cocoa);color:var(--wp--preset--color--base)}
@media (max-width:600px){
  .hcc-stores{grid-template-columns:1fr;gap:1.5rem}
  .hcc-store{border-radius:14px}
  .hcc-store__body{padding:1.5rem 1.25rem}
}

/* ---- Instagramのプロフィール表示（TOPの紹介文の直後） ----
 * サイトの一部ではなくInstagramの表示だと分かるよう、影付きの枠で囲う。
 * 余白は3種を明示的に取る：枠の外側／枠の内側／枠の中の要素間。 */
.hcc-ig{
  position:relative;
  max-width:52rem;
  margin:var(--wp--preset--spacing--60) auto var(--wp--preset--spacing--60);
  padding:var(--wp--preset--spacing--50) var(--wp--preset--spacing--40) var(--wp--preset--spacing--40);
  background:var(--wp--preset--color--base);
  border:1px solid rgba(228,221,215,.9);
  border-radius:20px;
  box-shadow:0 14px 36px rgba(116,58,46,.13), 0 4px 12px rgba(239,74,95,.09);
}
.hcc-ig::before{
  content:"Instagram";
  position:absolute;top:0;left:50%;transform:translate(-50%,-50%);
  background:var(--wp--preset--color--headerbg);
  color:var(--wp--preset--color--cocoa);
  font-family:var(--wp--preset--font-family--mincho);
  font-size:.6875rem;letter-spacing:.2em;
  padding:.5em 1.6em;border-radius:999px;
  border:1px solid rgba(228,221,215,.9);
  white-space:nowrap;
}
.hcc-ig #sb_instagram{padding-bottom:0 !important;margin:0 !important}
.hcc-ig #sb_instagram .sb_instagram_header{
  padding:0 0 var(--wp--preset--spacing--30) !important;
  margin:0 !important;justify-content:center;
}
.hcc-ig #sb_instagram .sb_instagram_header .sbi_header_text h3{
  font-family:var(--wp--preset--font-family--mincho);
  letter-spacing:.06em;color:var(--wp--preset--color--cocoa);line-height:1.7;
}
.hcc-ig #sb_instagram .sbi_bio{
  font-size:.8125rem;line-height:2;color:var(--wp--preset--color--contrast);
  opacity:.85;margin-top:.4em;
}
.hcc-ig #sb_instagram .sbi_photo{border-radius:3px;overflow:hidden}
.hcc-ig #sb_instagram #sbi_load{padding-top:var(--wp--preset--spacing--30) !important;margin:0 !important}
.hcc-ig #sb_instagram .sbi_follow_btn a{
  border-radius:999px !important;
  padding:.9em 2.2em !important;
  font-size:.8125rem !important;letter-spacing:.1em;
  box-shadow:0 4px 12px rgba(239,74,95,.22);
}
.hcc-ig:empty{display:none}

@media (max-width:600px){
  .hcc-ig{
    max-width:none;
    margin:var(--wp--preset--spacing--50) 0;
    padding:2.25rem 1.25rem 1.75rem;
    border-radius:16px;
    box-shadow:0 10px 26px rgba(116,58,46,.14), 0 3px 10px rgba(239,74,95,.10);
  }
  .hcc-ig::before{font-size:.625rem;padding:.45em 1.2em;letter-spacing:.16em}
  .hcc-ig #sb_instagram .sb_instagram_header{padding-bottom:1.1rem !important}
  .hcc-ig #sb_instagram #sbi_load{padding-top:1.1rem !important}
  .hcc-ig #sb_instagram .sbi_photo{border-radius:2px}
}

/* ---- ヘッダー直下の余白（2026-09-08 調整） ----
 * テンプレート側の上余白が広く、タイトルがページの中ほどから始まって見えていた。 */
.wp-site-blocks > main,
.wp-block-post-content{padding-top:0}
.wp-site-blocks > main > :first-child{margin-top:var(--wp--preset--spacing--30)}
main .wp-block-post-title{margin-top:var(--wp--preset--spacing--30)}
@media (max-width:600px){
  .wp-site-blocks > main > :first-child{margin-top:var(--wp--preset--spacing--20)}
  main .wp-block-post-title{margin-top:var(--wp--preset--spacing--20)}
  .hcc-subtitle{margin-bottom:var(--wp--preset--spacing--40)}
}

/* ---- ヘッダーとタイトルの間（2026-09-08 修正） ----
 * 親テーマのページテンプレートが main と直下グループに style 属性で
 * margin-top / padding-top をそれぞれ 6rem 書き込んでおり、合計192px開いていた。
 * 要素に直接書かれた指定はCSSファイルからは勝てないため !important で上書きする。
 * ∴ テンプレートを子テーマで置き換えるのが本筋だが、親の更新に追随しなくなるため
 *   ここでは上書きに留める。 */
.wp-site-blocks > main{
  margin-top:var(--wp--preset--spacing--30) !important;   /* 96px → 24px */
}
.wp-site-blocks > main > .wp-block-group:first-child{
  padding-top:var(--wp--preset--spacing--30) !important;  /* 96px → 24px */
}
@media (max-width:600px){
  .wp-site-blocks > main{margin-top:var(--wp--preset--spacing--20) !important}      /* 12px */
  .wp-site-blocks > main > .wp-block-group:first-child{padding-top:var(--wp--preset--spacing--20) !important}
}

/* ---- ご予約の注意書き ----
 * 「完全予約制」「入替制」は来店可否を左右する制約であり、案内文に埋めると読み飛ばされる。
 * ∴ 枠で囲い、最初の一文を強めて先に目に入るようにする。 */
.hcc-notice{
  max-width:40rem;
  margin:var(--wp--preset--spacing--40) auto var(--wp--preset--spacing--50);
  padding:var(--wp--preset--spacing--40) var(--wp--preset--spacing--40);
  background:var(--wp--preset--color--base);
  border:1px solid var(--wp--preset--color--brand-soft);
  border-radius:18px;
  box-shadow:0 10px 26px rgba(116,58,46,.10);
  text-align:center;
}
.hcc-notice p{margin:0 0 1rem;font-size:.9375rem;line-height:2.1}
.hcc-notice p:last-child{margin-bottom:0}
.hcc-notice__lead{
  font-family:var(--wp--preset--font-family--mincho);
  font-size:1.0625rem !important;
  line-height:1.9 !important;
  color:var(--wp--preset--color--brand);
  letter-spacing:.04em;
  padding-bottom:.9rem;
  border-bottom:1px solid var(--wp--preset--color--line);
}
.hcc-notice a{color:var(--wp--preset--color--cocoa);text-decoration:none;border-bottom:1px solid var(--wp--preset--color--line)}
.hcc-slots{
  list-style:none;margin:0 auto 1rem;padding:0;
  display:grid;grid-template-columns:repeat(2,auto);justify-content:center;
  gap:.5rem .75rem;
}
.hcc-slots li{text-align:center}
.hcc-slots li{
  font-family:var(--wp--preset--font-family--mincho);
  font-size:.9375rem;letter-spacing:.04em;
  background:var(--wp--preset--color--canvas);
  border:1px solid var(--wp--preset--color--line);
  border-radius:999px;padding:.5em 1.2em;
  white-space:nowrap;
}
@media (max-width:600px){
  .hcc-notice{
    max-width:none;padding:1.5rem 1.1rem;border-radius:14px;
    margin:var(--wp--preset--spacing--30) 0 var(--wp--preset--spacing--40);
  }
  .hcc-notice p{font-size:.875rem;line-height:2}
  .hcc-notice__lead{font-size:1rem !important}
  .hcc-slots{gap:.45rem .5rem}
  .hcc-slots li{font-size:.875rem;padding:.45em 1em}
}

/* 店舗カードの時間帯：完全予約制・入替制を先に見せる */
.hcc-store__hourslabel{
  display:block;
  font-size:.75rem;letter-spacing:.04em;line-height:1.8;
  color:var(--wp--preset--color--brand);
  margin-bottom:.3rem;
}
