.tp-row select,
.tp-row input[type="date"] {
  flex: 1;
  padding: 8px;
  max-width: 260px;
}

/* 開始「日付＋時刻」を同じ行で扱う */
.tp-row--start { flex-wrap: wrap; gap: 12px; }
.tp-row--start label { width: 72px; }

/* 入力幅（横並び時） */
.tp-row--start input[type="date"],
.tp-row--start select {
  flex: 1;
  max-width: 260px;
}

/* スマホ時は縦積みでも崩れないように */
@media (max-width: 480px) {
  .tp-row--start label { width: 100%; }
  .tp-row--start input[type="date"],
  .tp-row--start select { max-width: 100%; }
}

/* 終了「日付＋時刻」を同じ行で扱う */
.tp-row--end { flex-wrap: wrap; gap: 12px; }
.tp-row--end label { width: 72px; }

.tp-row--end select {
  flex: 1;
  max-width: 260px;
}

/* スマホ時は縦積みでも崩れない */
@media (max-width: 480px) {
  .tp-row--end label { width: 100%; }
  .tp-row--end select { max-width: 100%; }
}

/* 検索ボタン行をラベル幅ぶんインデントして揃える */
.tp-row--actions { display: flex; align-items: center; gap: 12px; margin-top: 8px; }
.tp-row--actions .tp-label-spacer { width: 72px; } /* 他のlabelと同幅に合わせる */

@media (max-width: 480px) {
  .tp-row--actions .tp-label-spacer { width: 0; }
  .tp-row--actions .tp-btn { width: 100%; }
}

/* 区画リストの完売バッジ */
.tp-spots { display:flex; flex-wrap:wrap; gap:8px; }
.tp-spot { padding:10px 12px; border:1px solid #dcdcdc; border-radius:10px; background:#7cdeff; cursor:pointer; }
.tp-spot:hover { filter:brightness(0.98); }
.tp-spot.soldout { background:#f7f7f7; color:#999; border-style:dashed; cursor:default; }

/* 背景はグレー */
.ast-plain-container, .ast-page-builder-templatey {
  background-color: #cfcfcf;
}

/* コンテンツ本体をスマホ幅＋白背景 */
.site, 
#page, 
#content, 
.tanapark-wrap {
  max-width: 480px;
  margin: 0 auto;
  background: #fff;
  box-shadow: 0 0 10px rgba(0,0,0,0.05); /* お好み：カード感 */
}

/* ヒーロー画像のfigureを横幅いっぱいに */
figure.wp-block-image.tanapark-hero {
  margin-left: -20px;   /* .ast-container の padding を打ち消す */
  margin-right: -20px;
  width: calc(100% + 40px); /* 打ち消した分を拡張 */
}

figure.wp-block-image.tanapark-hero img {
  display: block;
  width: 100%;
  height: auto;
}


/* プライバシーポリシーをボックス内スクロールにする */
.privacy-policy-container {
  max-width: 100%;                /* 480pxコンテナに収まる */
  height: 250px;                  /* 好きな高さに調整 */
  padding: 20px;
  overflow-y: auto;               /* 縦スクロールを強制 */
  -webkit-overflow-scrolling: touch; /* iOSで慣性スクロール */
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
}

/* 中のテキスト調整（任意） */
.privacy-policy-container h2 { 
  font-size: 1rem; 
  margin: 1em 0 .5em;
}
.privacy-policy-container p,
.privacy-policy-container li {
  font-size: .95rem;
  line-height: 1.6;
  margin: 0 0 .8em;
}

/* ヘッダーとフッターも480px固定に */
.site-footer {
  max-width: 480px;
  background: #fff;  /* お好み：背景色 */
}

/* 背景とのメリハリを付けたい場合（任意） */
.site-footer {
  border-left: 1px solid #e5e7eb;
  border-right: 1px solid #e5e7eb;
}

/* レイアウト */
#tanapark-booking.tpb { max-width: 480px; margin: 0 auto; }
.tpb-row { 
  display: grid; 
  grid-template-columns: 6.5em 1fr; 
  align-items: center; 
  gap: 8px 12px; 
  margin-bottom: 10px; 
}
.tpb-label { font-weight: 700; color:#1f2937; }

/* セレクトの見た目統一 */
#tp-start-dt, #tp-end-dt {
  width: 100%; height: 44px;
  padding: 10px 12px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  background: #f8fafc;
  font-size: 15px;
}

/* 区画ボタン */
#tp-spot-buttons { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0 4px; }
#tp-spot-buttons .tp-spot-btn { border-radius:8px; }

/* 狭小端末は余裕を持たせて */
@media (max-width: 360px){
  .tpb-row { grid-template-columns: 1fr; }
}

.site-below-footer-wrap[data-section="section-below-footer-builder"] {
    border-top: none !important;
}

@media (min-width: 1200px) {
  .ast-plain-container.ast-no-sidebar #primary {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}
@media (min-width: 1200px) {
  .ast-plain-container.ast-no-sidebar #primary {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}
