/*
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Template: astra
Author: Brainstorm Force
Author URI: https://wpastra.com/about/?utm_source=theme_preview&utm_medium=author_link&utm_campaign=astra_theme
Description: The Astra WordPress theme is lightning-fast and highly customizable. It has over 1 million downloads and the only theme in the world with 5,700+ five-star reviews! It’s ideal for professional web designers, solopreneurs, small businesses, eCommerce, membership sites and any type of website. It offers special features and templates so it works perfectly with all page builders like Spectra, Elementor, Beaver Builder, etc. Fast performance, clean code, mobile-first design and schema markup are all built-in, making the theme exceptionally SEO-friendly. It’s fully compatible with WooCommerce, SureCart and other eCommerce plugins and comes with lots of store-friendly features and templates. Astra also provides expert support for free users. A dedicated team of fully trained WordPress experts are on hand to help with every aspect of the theme. Try the live demo of Astra: https://zipwp.org/themes/astra/
Tags: custom-menu,custom-logo,entertainment,one-column,two-columns,left-sidebar,e-commerce,right-sidebar,custom-colors,editor-style,featured-images,full-width-template,microformats,post-formats,rtl-language-support,theme-options,threaded-comments,translation-ready,blog
Version: 4.11.12.1759696879
Updated: 2025-10-06 05:41:19

*/

/*
Theme Name: Astra Child
Template: astra
Description: Custom child theme for Astra (AtsumaruBase)
Version: 1.6
*/

/* ===== AtsumaruBase Schedule ===== */

/* 背景色 */
body.post-type-archive-ab_event main,
body.single-ab_event main {
  background:#f5f6f7;
}

/* コンテナ */
.ab-container {
  max-width:900px;
  margin:0 auto;
  padding:32px 16px;
}

/* 見出しヘッダー */
.ab-header { margin-bottom:20px; }
.ab-title {
  font-size:clamp(20px,3vw,28px);
  font-weight:700;
  margin:0;
  color:#222;
}
.ab-note { color:#666; margin:8px 0 6px; }
.ab-switch a { color:#2465a9; text-decoration:none; font-size:.9rem; }
.ab-switch a:hover { text-decoration:underline; }

/* ===== 一覧カード ===== */
.ab-list {
  display:flex;
  flex-direction:column;
  gap:20px;
}
.ab-card {
  border:1px solid #e3e5e8;
  border-radius:12px;
  background:#fff;
  box-shadow:0 2px 8px rgba(0,0,0,.08);
  padding:16px;
  transition:box-shadow .2s ease, transform .2s ease;
}

/* 日付・時間 */
.ab-card__heading {
  font-size:clamp(18px,2.6vw,22px);
  margin:0 0 8px;
  font-weight:700;
  line-height:1.5;
  color:#222;
}

/* タイトル */
.ab-card__title {
  color:#2465a9;
  text-decoration:none;
  font-weight:700;
}
.ab-card__title:hover { color:#2465a9; }

/* 会場 */
.ab-card__place {
  color:#444;
  margin-bottom:12px;
  font-size:.95rem;
}

/* ===== ボタン全体設定 ===== */
.ab-actions {
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:8px;
}
.ab-btn {
  display:inline-block;
  padding:8px 18px;
  border-radius:999px;
  font-weight:600;
  text-decoration:none;
  transition:all .2s ease;
}

/* 出席（青） */
.ab-btn--attend {
  background:#2465a9;
  border:1px solid #2465a9;
  color:#fff;
}
.ab-btn--attend:hover { background:#2465a9; color:#fff; }

/* 欠席（赤） */
.ab-btn--absent {
  background:#d23b3b;
  border:1px solid #d23b3b;
  color:#fff;
}
.ab-btn--absent:hover { background:#d23b3b; color:#fff; }

/* 未定（グレー） */
.ab-btn--pending {
  background:#888;
  border:1px solid #888;
  color:#fff;
}
.ab-btn--pending:hover { background:#888; color:#fff; }

/* 詳細を見る（アウトライン青） */
.ab-btn--detail {
  background:transparent;
  border:1px solid #2465a9;
  color:#2465a9;
}
.ab-btn--detail:hover {
  background:#2465a9;
  color:#fff;
}

/* 押下時アニメーション */
.ab-btn:active {
  transform: scale(0.97);
  opacity: 0.9;
}

/* ===== 編集ボタン（静的単体） ===== */
.ab-editbar__btn {
  display: inline-block;
  padding: 8px 16px;
  border-radius: 999px;
  background: #2465a9;
  color: #fff;
  text-decoration: none;
  font-weight: 600;
  border: none;
  box-shadow: none;
  cursor: pointer;
}

/* ===== 空表示 ===== */
.ab-empty {
  padding:24px;
  background:#f7f8fa;
  border-radius:12px;
}
.ab-empty__sub { margin:0; color:#666; }

/* ===== ページネーション ===== */
.ab-pagination {
  text-align:center;
  font-size:.95rem;
  margin-top:22px;
}
.ab-pagination a,
.ab-pagination span {
  margin:0 4px;
  padding:6px 10px;
  border-radius:6px;
}
.ab-pagination a:hover {
  background:#2465a9;
  color:#fff;
}

/* ===== スマホ対応 ===== */
@media (max-width:600px){
  .ab-actions {
    flex-direction:column;
    gap:6px;
  }
  .ab-btn {
    width:100%;
    text-align:center;
  }
}
