@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* ===== トップの複合フィルターを横並びに ===== */
.post-filter{
  display:flex;
  flex-wrap:wrap;              /* 幅が足りなければ折り返し */
  align-items:flex-end;        /* ボタンの下端に揃える */
  gap:12px 14px;               /* 行間/列間 */
  margin-bottom:20px;
}

/* ラベルブロック（カテゴリ／地域）を横並びの“かたまり”に */
.post-filter > label{
  display:flex !important;     /* SWELLのblock指定を上書き */
  align-items:center;
  gap:8px;
  margin:0 !important;
  width:auto !important;
  white-space:nowrap;          /* ラベル文言が折れないように */
}

/* セレクトの見た目と最小幅 */
.post-filter select{
  min-width:140px;
  padding:4px 6px;
  font-size:14px;
  max-width:none;              /* SWELLのmax-width制限を無効化 */
}

/* 地域の4つを“横一塊”に見せる（地域ラベル内の複数selectに間隔） */
.post-filter label select + select{
  margin-left:8px;
}

/* ボタン */
.post-filter button{
  align-self:flex-end;
  height:34px;                 /* セレクトと高さ合わせ目安 */
  padding:0 16px;
  font-size:14px;
  background:#0073aa;
  color:#fff;
  border:0;
  border-radius:4px;
  cursor:pointer;
}
.post-filter button:hover{ background:#005f8d; }

/* ---- スマホ：縦積みでフル幅 ---- */
@media (max-width: 640px){
  .post-filter{ flex-direction:column; align-items:stretch; }
  .post-filter > label{ width:100% !important; flex-wrap:wrap; }
  .post-filter select{ width:100%; min-width:0; }
  .post-filter label select + select{ margin-left:0; margin-top:8px; }
  .post-filter button{ width:100%; }
}

/* === Calendar CTA（控えめ・落ち着いたトーン） === */
.calendar-cta {
  margin: 28px 0;
  padding: 18px 12px;
  border-top: 2px solid var(--color_main, #2ea7f2);
  border-radius: 4px;
  background: rgba(0, 0, 0, 0.015);
}

.calendar-cta__title {
  text-align: center;
  font-weight: 600;
  font-size: 16px;
  margin: 0 0 10px;
  color: #333;
}

.calendar-cta__subtitle {
  text-align: center;
  color: #666;
  font-size: 13px;
  margin-bottom: 14px;
}

/* ボタンエリア */
.calendar-cta__buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 10px;
}

/* カウント（控えめグレー） */
.calendar-cta__count {
  align-self: center;
  color: #777;
  font-size: 12px;
}
