.none {
  display: none !important;
}
.activity-header {
  padding: 1rem;
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  width: 100%;
}
.activity-header .activity-single-link {
  background: black;
  opacity: 1;
  color: #fff;
  text-decoration: none;
  padding: 0rem 0.75rem;
  border-radius: 1rem;
  margin-top: 0.5rem;
  position: relative;
  align-items: end;
  display: inline-block;
  height: 1.5rem;
  line-height: 1.5rem;
}
a.activitycardavatar {
  max-width: 27px;
  max-height: 27px;
  border: solid #ddd 1px;
  border-radius: 27px;
  overflow: hidden;
  position: relative;
  top: 0.5rem;
  left: 0.5rem;
}
:root {
  --color-primary: #285876;
  --color-text: #333333;
  --color-base: #ebebeb;
  --color-surface: #ffffff;
  --color-accent: #9e8f78;
  --color-muted: #566c78;

  --color-border: color-mix(
    in srgb,
    var(--color-text) 15%,
    var(--color-surface)
  );
  --color-border-strong: color-mix(
    in srgb,
    var(--color-text) 30%,
    var(--color-surface)
  );
  --color-card: color-mix(in srgb, var(--color-base) 85%, var(--color-surface));
  --color-button-bg: var(--color-primary);
  --color-button-text: var(--color-surface);
  --color-link: var(--color-primary);
  --color-link-hover: color-mix(
    in srgb,
    var(--color-primary) 80%,
    var(--color-text)
  );
  --color-positive-bg: color-mix(
    in srgb,
    var(--color-primary) 18%,
    var(--color-surface)
  );
  --color-positive-border: color-mix(
    in srgb,
    var(--color-primary) 40%,
    var(--color-surface)
  );
  --color-negative-bg: color-mix(
    in srgb,
    var(--color-accent) 18%,
    var(--color-surface)
  );
  --color-negative-border: color-mix(
    in srgb,
    var(--color-accent) 40%,
    var(--color-surface)
  );
  --color-overlay-strong: color-mix(
    in srgb,
    var(--color-text) 80%,
    transparent
  );
  --color-overlay: color-mix(in srgb, var(--color-text) 45%, transparent);
  --color-overlay-light: color-mix(in srgb, var(--color-text) 30%, transparent);
}

/* ==============================
   イベントフォーム関連
   ============================== */
.css-event-form {
  max-width: 960px;
  padding: 2rem;
  margin: 3rem auto;
  background: var(--color-card);
  box-shadow: 0px 13px 28px rgba(25, 25, 25, 0.1);
  transition: 0.03s ease-in-out;
  /* margin-bottom: 2rem; */
  border-radius: 1rem;
}

/* ==============================
   マップ関連
   ============================== */
.em.em-location-where.has-map .em-location-map-container,
.em.em-location-where.has-map div.em-location-data .em-location-map-404,
.em.em-location-where.has-map div.em-location-data .em-location-map-content {
  max-width: 100%;
  aspect-ratio: 3 / 2;
}

/* ==============================
   ボタン関連
   ============================== */
.em.pixelbones.input .button.button-primary,
.em.pixelbones.input button.button-primary,
.em.pixelbones.input input[type="submit"].button-primary,
.em.pixelbones.input input[type="reset"].button-primary,
.em.pixelbones.input input[type="button"].button-primary,
.em.pixelbones .input .button.button-primary,
.em.pixelbones .input button.button-primary,
.em.pixelbones .input input[type="submit"].button-primary,
.em.pixelbones .input input[type="reset"].button-primary,
.em.pixelbones .input input[type="button"].button-primary,
.em.pixelbones .button.button-primary.input,
.em.pixelbones button.button-primary.input,
.em.pixelbones input[type="submit"].button-primary.input,
.em.pixelbones input[type="reset"].button-primary.input,
.em.pixelbones input[type="button"].button-primary.input {
  color: var(--color-button-text) !important;
  background-color: var(--color-button-bg) !important;
  border: none !important;
  font-size: 0.8rem !important;
  padding: 0.75rem 3rem !important;
  overflow: visible !important;
  height: auto !important;
  margin: 3rem auto;
  display: block;
}

/* ==============================
   メッセージ・画像・アバター関連
   ============================== */
div#message.info p {
  text-align: center;
  font-size: 12px;
}
div#event-image {
  border: dotted var(--color-border) 1.5px;
  border-radius: 1rem;
  overflow: hidden;
}
ul#activity-stream {
  margin: 3vw;
  padding: 0;
}
.em i {
  color: var(--color-accent);
  font-weight: bold;
}
.spam-activity {
  display: none;
}
.pageavatar {
  background: var(--color-accent);
  max-width: 50px;
  border-radius: 50%;
  overflow: hidden;
}
.kettei {
  border: 0.5px solid var(--color-surface);
  font-size: 0.7rem;
  padding: 0.2rem 1rem;
  border-radius: 0.75rem;
  background: var(--color-primary);
  color: var(--color-surface);
}
.yameta {
  font-size: 0.7rem;
  color: var(--color-muted);
  margin-left: 0.5rem;
  text-decoration: none;
}
.pageavatar img {
  display: block;
}
button#insert-media-button {
  position: absolute;
  top: 12px;
  font-size: 0.6rem;
  right: 8px;
  border-radius: 0.5rem;
  border: 0.5px solid var(--color-border);
  padding: 7px 1rem;
  color: var(--color-text);
}
div#whats-new-textarea {
  position: relative;
  max-width: calc(100% - 2rem);
  display: block;
  margin: 0 auto;
}
img {
  max-width: 100%;
  box-sizing: border-box;
}

/* ==============================
   アクティビティアイテム・アバター関連
   ============================== */
.mas-i {
  background: var(--color-card);
  animation: none;
}
main#primary {
  min-height: 90vh;
  position: relative;
  top: 4rem;
  margin-bottom: 4rem;
}
footer#colophon {
  padding: 2rem;
  background: none;
  text-align: center;
}
.site-info {
  font-size: 10px;
  letter-spacing: 0.14rem;
  color: var(--color-text);
  opacity: 0.6;
}
.activity-inner img {
  margin: 0;
  height: auto;
}
li.load-more {
  list-style-type: none;
}
li.load-more a {
  list-style-type: none;
  display: block;
  background: var(--color-base);
  text-align: center;
  padding: 2rem;
  border-radius: 1rem;
  text-decoration: none;
  color: var(--color-muted);
}
/* Infinite scroll: 「さらに読み込む」を非表示にして自動読み込み */
#activity-stream.is-infinite-scroll .load-more {
  display: none;
}
#cls2025-activity-infinite-sentinel {
  padding: 1.25rem 0;
  text-align: center;
  color: var(--color-muted);
  font-size: 0.8rem;
  opacity: 0.8;
}
#cls2025-activity-infinite-sentinel::before {
  content: "スクロールで続きを読み込みます";
  display: block;
}
#cls2025-activity-infinite-sentinel.is-loading::before {
  content: "読み込み中…";
}
#cls2025-activity-infinite-sentinel.is-hidden {
  display: none;
}
@media (min-width: 769px) {
  /* Masonry適用前の「左上に固まる一瞬」を隠してフェードイン */
  #activity-stream.mason {
    opacity: 0;
    transition: opacity 0.58s ease-out;
  }
  #activity-stream.mason.masonry-ready {
    opacity: 1;
  }
}
@media (prefers-reduced-motion: reduce) and (min-width: 769px) {
  #activity-stream.mason {
    transition: none;
  }
}
#activity-stream.mason {
  width: 100%;
  position: relative;
  margin: 0;
  padding: 0;
}
.gazodake img {
  width: 100%;
  height: auto;
  margin: 0 0 1rem 0 !important;
  padding: 0 !important;
}
.gazodake p {
  padding: 0 !important;
  margin: 0 !important;
  line-height: 0;
}
.activity-item.mas-i {
  background: #fff;
  position: absolute;
  list-style-type: none;
  box-shadow: 0px 13px 28px rgba(25, 25, 25, 0.1);
  transition: 0.03s ease-in-out;
  border-radius: 1rem;
}
.mas-i .activity-avatar img,
.mas-i .acomment-avatar img {
  max-width: 20px;
  border-radius: 100%;
  max-height: 20px;
  overflow: hidden;
  margin: 0.25rem;
}
.activity-avatar,
.acomment-avatar {
  display: flex;
}
.activity-inner,
.acomment-content {
  padding: 3.75rem 2rem 1rem 2rem;
  font-size: 0.89401rem;
}
.activity-avatar a.activity-user-link,
.acomment-avatar a.activity-user-link {
  margin-top: 8px;
  margin-left: 5px;
  font-size: 10.5px;
  text-decoration: none;
  color: var(--color-text);
}
.activity-single-link {
  font-size: 10.5px;
  opacity: 0.5;
  vertical-align: middle;
  text-align: right;
  color: var(--color-primary);
  margin-left: auto;
  padding-top: 8px;
  padding-right: 0.25rem;
}
#activity-stream .activity-meta a,
#activity-stream .acomment-options a {
  overflow: hidden;
  width: 3rem;
  display: inline-block;
  height: 34px;
  opacity: 0.6;
  left: 5px;
  position: relative;
  margin: 1rem 0 0.5rem 0;
}
#activity-stream .activity-meta a.acomment-reply:before,
#activity-stream .activity-meta a.view:before,
#activity-stream .acomment-options a.acomment-reply:before {
  content: "";
  display: block;
  height: 32px;
  background-image: url(https://classic-no-mikata.com/cls/wp-content/themes/cls2025/img/comment-dots.svg);
  background-size: 20px 20px;
  background-repeat: no-repeat;
  background-position: center 6px;
}
#activity-stream .activity-meta a.fav:before {
  content: "";
  display: block;
  height: 32px;
  background-image: url(//hi-bi.net/wp-content/themes/cls2025/img/star.svg);
  background-size: 20px 20px;
  background-repeat: no-repeat;
  background-position: center 6px;
}
#activity-stream .activity-meta a.unfav:before {
  content: "";
  display: block;
  height: 32px;
  background-image: url(//hi-bi.net/wp-content/themes/cls2025/img/star-fill.svg);
  background-size: 20px 20px;
  background-repeat: no-repeat;
  background-position: center 6px;
}
#activity-stream .activity-meta a.delete-activity:before,
#activity-stream .activity-meta a.acomment-delete:before,
#activity-stream .activity-meta a.delete-activity-single:before,
#activity-stream .acomment-options a.acomment-delete:before {
  content: "";
  display: block;
  height: 32px;
  background-image: url(//hi-bi.net/wp-content/themes/cls2025/img/trash.svg);
  background-size: 20px 20px;
  background-repeat: no-repeat;
  background-position: center 6px;
}
#activity-stream .activity-meta a.spam-activity:before,
#activity-stream .acomment-options a.spam-activity-comment:before {
  content: "";
  display: block;
  height: 32px;
  background-image: url(//hi-bi.net/wp-content/themes/cls2025/img/spam.svg);
  background-size: 20px 20px;
  background-repeat: no-repeat;
  background-position: center 6px;
}

.friendship-button .friendship-button.add:before {
  content: "";
  display: inline-block;
  height: 14px;
  background-image: url(//hi-bi.net/wp-content/themes/cls2025/img/user-add.svg);
  background-size: 14px 14px;
  background-repeat: no-repeat;
  background-position: center 1px;
  width: 14px;
  position: relative;
  top: 1px;
  opacity: 0.4;
  margin-right: 0.23rem;
}
div#item-header {
  max-width: 1600px;
  padding: 0 2rem;
  transition: 0.15s all ease-in;
}
div#item-header.scrolled {
  position: fixed;
  z-index: 893893;
  top: 0;
  left: 50px;
  padding: 10px;
}
div#post-mention {
  display: none !important;
}
#item-header-cover-image #item-buttons div a {
  display: block;
  background: var(--color-surface);
  padding: 0.2rem 1rem;
  border: 0.5px solid var(--color-border);
  border-radius: 2rem;
  text-decoration: none;
  font-size: 13px;
  color: var(--color-text);
}
#item-header.scrolled a.proficon {
  max-width: 28px;
  max-height: 28px;
  top: 6px;
  position: relative;
}
#item-header b.activity-user-link {
  top: 7px;
}
#item-header #item-header-cover-image #item-buttons div {
  top: 2px;
}
.bp-nouveau #item-header,
.bp-nouveau #buddypress #item-header {
  max-width: 1600px;
  padding: 1rem 2rem 0 2rem;
  transition: 0.15s all ease-in;
}
.bp-nouveau #item-header.scrolled,
.bp-nouveau #buddypress #item-header.scrolled {
  position: fixed;
  z-index: 893893;
  top: 0;
  left: 50px;
  padding: 10px;
}
.bp-nouveau #item-header-cover-image #item-buttons div a,
.bp-nouveau #buddypress #item-header-cover-image #item-buttons div a {
  display: block;
  background: var(--color-surface);
  padding: 0.2rem 1rem;
  border: 0.5px solid var(--color-border);
  border-radius: 2rem;
  text-decoration: none;
  font-size: 13px;
  color: var(--color-text);
}
.bp-nouveau #item-header.scrolled a.proficon,
.bp-nouveau #buddypress #item-header.scrolled a.proficon {
  max-width: 28px;
  max-height: 28px;
  top: 6px;
  position: relative;
}
.bp-nouveau #item-header b.activity-user-link,
.bp-nouveau #buddypress #item-header b.activity-user-link {
  top: 7px;
}
.bp-nouveau #item-header #item-header-cover-image #item-buttons div,
.bp-nouveau
  #buddypress
  #item-header
  #item-header-cover-image
  #item-buttons
  div {
  top: 2px;
}
.activity-permalink #buddypress #activity-stream li {
  max-width: 100% !important;
  width: 800px !important;
  display: block !important;
  position: relative !important;
  margin: 3rem auto;
  transform: none !important;
}
button#image-only-button {
  background: var(--color-primary);
  border: none;
  font-size: 0.75rem;
  color: var(--color-surface);
  padding: 0.5rem 1rem;
  border-radius: 1rem;
  margin: 1rem;
}
.activity-permalink .has-background .activity-meta {
  background: var(--color-overlay) !important;
  border-radius: 0.75rem 0.75rem 0 0 !important;
}
.activity-permalink .activity-comments {
  border-radius: 0 0 0.75rem 0.75rem !important;
}
.has-background .activity-comments.mieru,
.has-background.has-comments .activity-comments {
  height: auto;
  overflow: visible;
  /* background: var(--color-overlay); */
  border-radius: 0.75rem;
  padding: 0 1rem;
}
/* .has-background .na,
.has-background .acomment-content,
.has-background .activity-comments.mieru label.bp-screen-reader-text {
  color: var(--color-surface) !important;
} */
a.itemlinks {
  font-size: 0.7rem;
  display: inline-block;
  margin-left: 1.5rem;
  text-decoration: none;
  background: none;
  position: relative;
  top: 4px;
  padding: 5px 1rem 1px 1rem;
  border-radius: 3rem;
}
a.itemlinks:hover {
  background: var(--color-muted);
  color: var(--color-surface);
}
.activity-permalink
  .has-background
  .activity-comments.mieru
  label.bp-screen-reader-text {
  color: var(--color-text) !important;
}
.has-background .acomment-options {
  filter: invert(1);
}
.activity-meta {
  display: flex;
  flex-flow: wrap;
  padding: 0 0 0.5rem 0.4em !important;
  margin-top: -1rem;
}
.has-background .activity-content .activity-inner {
  display: none;
}
/* 
.activity.activity_update.activity-item {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    min-height: 500px; 
    padding: 20px; 
} */
img.misquer {
  position: fixed;
  top: 0;
  left: 0;
  /* z-index: -33; */
  width: 100%;
  height: auto;
  max-height: 10000px;
}
.activity.activity_update.activity-item.has-background {
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  /* min-height: 600px; 画像のみの投稿に適用 */
  /* padding: 20px; コンテンツが見えるように */
}
.activity.activity_update.activity-item.has-background .activity-inner {
  min-height: 45px;
}
.has-background .activity-inner p img {
  opacity: 0;
  display: none !important;
}
.activity-inner p:empty {
  display: none; /* 空の<p>タグを非表示 */
}
.has-background {
  position: relative;
  overflow: hidden;
}
/* .has-background:before {
  content: "";
  width: 100%;
  height: 5rem;
  display: block;
  margin: -0.5rem;
  border-radius: 1rem 1rem 0 0;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1;
  background: linear-gradient(
    180deg,
    var(--color-overlay-strong) 30%,
    transparent 100%
  );
  opacity: 0.35;
  pointer-events: none;
}
.has-background:after {
  content: "";
  width: 100%;
  height: 5rem;
  display: block;
  margin: -0.5rem;
  border-radius: 0 0 1rem 1rem;
  position: absolute;
  bottom: 0.5rem;
  left: 0;
  right: 0;
  z-index: 1;
  background: linear-gradient(
    0deg,
    var(--color-overlay-strong) 30%,
    transparent 100%
  );
  opacity: 0.35;
  pointer-events: none;
} */
.has-background .activity-avatar {
  background: #fff;
  border-radius: 1rem;
}
/* .has-background .activity-user-link,
.has-background .activity-single-link {
  color: var(--color-surface) !important;
} */
.has-background .activity-avatar,
.activity-meta {
  background: rgba(255, 255, 255, 0.5);
  border-radius: 1.2rem;
  padding: 7px 7px 0px 8px;
  border: solid 0.5px #f8f8f8;
}
.activity-meta {
  padding: 0.5rem;
}
#activity-stream .has-background .activity-meta a {
  filter: grayscale(1);
}
.ac-reply-avatar .avatar {
  max-width: 26px;
  border-radius: 100%;
  max-height: 26px;
}
.activity-comments,
.just-posted .activity-comments,
.ac-form {
  padding: 0;
  /* height: 0;
    overflow: hidden; */
  transition: height 0.3s ease; /* スムーズなアニメーション（任意） */
}
.activity-comments .ac-reply-content .bp-screen-reader-text {
  font-size: 10px;
  color: var(--color-muted);
  display: block;
  margin: 0.5rem;
}
.activity-comments .ac-reply-content textarea.ac-input {
  border: 0.5px solid var(--color-border);
  width: 100%;
  border-radius: 0.75rem;
  padding: 0.7rem;
}
.has-comments .activity-comments,
.has-comments .just-posted .activity-comments {
  height: auto;
  overflow: visible;
  transition: height 0.3s ease; /* スムーズなアニメーション（任意） */
}
.activity-comments.mieru,
.activity-comments.mieru .ac-form,
.has-comments .activity-comments {
  height: auto;
  overflow: visible;
  padding: 10px;
  /* background: #eee; */
  border-radius: 0.75rem;
}
.activity-comments.mieru textarea {
  border-radius: 0.75rem;
  margin: 0.25rem;
  width: calc(100% - 0.5rem);
  border: 1px solid var(--color-border);
  padding: 0.4rem;
  font-size: 0.8rem;
}
.activity-comments.mieru label.bp-screen-reader-text {
  color: var(--color-muted);
  font-size: 0.6rem;
  margin: 0 0.25rem;
}
.activity-comments ul {
  padding: 0;
  margin: 0;
  list-style-type: none;
}
.acomment-content {
  font-size: 0.85rem;
  opacity: 0.976;
}
#whats-new-submit .kettei {
  margin: 1rem;
}
div#whats-new-content {
  padding: 2rem;
}

/* .activity-image {
    max-width: 100%;
    height: auto;
} */
#whats-new-messages.updated {
  background: var(--color-positive-bg);
  padding: 10px;
  border: 1px solid var(--color-positive-border);
}
#whats-new-messages.error {
  background: var(--color-negative-bg);
  padding: 10px;
  border: 1px solid var(--color-negative-border);
}
#activity-stream p {
  font-size: 0.9rem;
  margin: 0.25rem 0 0 0;
}
b.activity-user-link {
  top: 10px;
  position: relative;
  margin-left: 0.8rem;
  font-size: 0.9rem;
}
a.proficon {
  max-width: 48px;
  border-radius: 100%;
  overflow: hidden;
  height: 48px;
  transition: 0.2s all;
}
#item-header-cover-image #item-buttons div {
  display: inline-block;
  font-size: 0.7852rem;
  margin-left: 1rem;
  position: relative;
  top: 7px;
}
.em.pixelbones .em-location-map-container p {
  margin: 0 0 5px !important;
  line-height: 168% !important;
  font-size: 12px !important;
}
#primary .em .input .filepond--drop-label {
  font-size: 12px !important;
  margin: 0.5rem auto !important;
  display: block;
  text-align: center;
  line-height: 2rem !important;
}
.input.em-location-data-url,
.multi-day-event-info {
  display: none !important;
}
#primary h3 {
  font-weight: bold !important;
  font-size: 1.235rem !important;
  margin: 2.91rem 0 1rem !important;
}

.profile-card {
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 1rem;
  padding: 1.25rem 1.5rem;
  margin: 1rem 0;
}

.profile-table {
  display: flex;
  flex-direction: column;
}

.profile-row {
  display: grid;
  grid-template-columns: 1fr 2fr;
  column-gap: 1rem;
  padding: 0.65rem 0;
  border-bottom: 1px solid #f0f0f0;
}

.profile-row:last-child {
  border-bottom: none;
}

.profile-cell-label {
  font-weight: 600;
  color: var(--color-text);
}

.profile-cell-value {
  color: var(--color-muted);
  word-break: break-word;
}

.profile-cell-label p,
.profile-cell-value p {
  margin: 0;
}

.profile-sns-label {
  display: inline-block;
  font-weight: 700;
  margin-right: 0.25rem;
}

.profile-sns-value {
  margin-right: 0.5rem;
}

.profile-cell-value a {
  margin-right: 0.35rem;
}

.profile-sns-icon {
  width: 1.1em;
  height: 1.1em;
  vertical-align: -0.15em;
}

.profile-sns-icon.sns-x {
  color: #333;
}

.profile-sns-icon.sns-youtube {
  color: #ff0000;
}

.profile-visibility-inline {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

.profile-visibility-option {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.95rem;
  color: var(--color-muted);
}

.profile-visibility-inline ul {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0.35rem 0 0;
}

.profile-visibility-inline li {
  margin: 0;
}

.field-visibility-label {
  margin: 0.75rem 0 0.25rem;
  font-size: 0.9rem;
  color: var(--color-muted);
}

#profile-edit-form .wp-editor-tabs,
#profile-edit-form .wp-editor-tools,
#profile-edit-form .quicktags-toolbar,
#profile-edit-form .mce-toolbar-grp,
#profile-edit-form .mce-statusbar,
#profile-edit-form .mce-tinymce {
  display: none !important;
}

#profile-edit-form textarea.wp-editor-area {
  display: block !important;
  width: 100%;
  min-height: 8rem;
}

#profile-edit-form .field-visibility-settings-toggle,
#profile-edit-form .field-visibility-settings-notoggle,
#profile-edit-form .field-visibility-settings legend {
  font-size: 0.75rem;
}

#profile-edit-form .profile-cell-value > label,
#profile-edit-form .profile-cell-value > legend {
  display: none;
}

#profile-edit-form .profile-cell-value fieldset {
  border: none;
  padding: 0;
  margin: 0;
}
input,
select,
textarea {
  border: 0.5px solid #aaa;
  border-radius: 5rem;
  padding: 0.5rem 1rem;
  font-size: 0.9rem;
  margin: 0 0 1rem 0;
}
textarea {
  border-radius: 0.75rem;
}
.wp-editor-area {
  font-family: auto !important;
  font-size: 1rem !important;
  padding: 1rem !important;
  margin: 0 !important;
  line-height: 150%;
  border: 0.5px solid #aaa;
  outline: 0;
  display: block;
  resize: vertical;
  box-sizing: border-box;
}
.wp-editor-container {
  clear: both;
  border: 1px solid #ddd;
  border-radius: 1rem;
  overflow: hidden;
  margin-bottom: 1rem;
}
.profile-row div {
  padding: 0;
  font-size: small;
}

#profile-edit-form .kettei.actpost {
  background: var(--color-primary);
  color: var(--color-surface);
  border-radius: 2rem;
  padding: 0.5rem 2rem;
  font-size: 0.7rem;
  border: none;
  cursor: pointer;
}

/* ==============================
   アクティビティカレンダー関連
   ============================== */
/* ▼▼▼ ここからカレンダー部分 ▼▼▼ */

/* カレンダー全体の枠・レイアウト */
.bp-activity-calendar {
  width: 100%;
  max-width: 300px;
  border-collapse: collapse;
  font-family: Arial, sans-serif;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 8px;
  font-size: 0.7rem;
}

/* カレンダーのセル（曜日・日付） */
.bp-activity-calendar th,
.bp-activity-calendar td {
  width: 40px;
  height: 40px;
  text-align: center;
  border: 1px solid var(--color-border);
}

/* 曜日ヘッダーのスタイル */
.bp-activity-calendar th {
  background: var(--color-base);
  color: var(--color-text);
  font-weight: bold;
}

/* アクティブな日付セル（イベントがある日など） */
.bp-activity-calendar td.active {
  background: var(--color-primary);
}

/* アクティブセル内のリンク */
.bp-activity-calendar td.active a {
  color: var(--color-surface);
  text-decoration: none;
  display: block;
}

/* 空セル（何もない日） */
.bp-activity-calendar td.empty {
  background: var(--color-base);
}

/* カレンダーのナビゲーション（前月・次月など） */
.calendar-nav {
  margin-bottom: 10px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: Arial, sans-serif;
  font-size: 0.7rem;
}
.calendar-nav a {
  text-decoration: none;
  color: var(--color-link);
  font-weight: bold;
  cursor: pointer;
}
.calendar-nav a:hover {
  color: var(--color-link-hover);
}
div#bp-activity-calendar-container {
  display: inline-block;
}
/* ▲▲▲ ここまでカレンダー部分 ▲▲▲ */

/* ==============================
   その他・調整用
   ============================== */
#bp-ajax-loader {
  display: none;
  text-align: center;
  margin: 10px 0;
}
.wakegi,
#subnav {
  display: none; /* 仮消し */
}

/* ==============================
   フローティングPOST/Photoボタン & 全画面フォーム
   ============================== */
#floating-action-buttons {
  position: fixed;
  right: 2rem;
  bottom: 2rem;
  z-index: 9999;
  display: flex;
  flex-direction: row;
  gap: 1rem;
}
#show-post-form:before {
  content: "POST";
  font-size: 7px;
  position: absolute;
  color: var(--color-surface);
  bottom: 5px;
}
#show-photo-form:before {
  content: "PHOTO";
  font-size: 7px;
  position: absolute;
  color: var(--color-surface);
  bottom: 5px;
}
#show-calendar-modal:before {
  content: "CAL";
  font-size: 7px;
  position: absolute;
  color: var(--color-surface);
  bottom: 5px;
}
.fab {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  color: var(--color-surface);
  font-size: 1.1rem;
  font-weight: bold;
  border: none;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
  cursor: pointer;
  transition: background 0.2s;
  outline: none;
  display: flex;
  align-items: center;
  justify-content: center;
}
.fab-photo,
.fab-post,
.fab-calendar {
  background: var(--color-primary);
}
/* SVGを白に統一 */
#floating-action-buttons img {
  filter: brightness(0) invert(1) !important;
}
/* .just-posted .ac-reply-content {
  height: 0;
  overflow: hidden;
} */
div#mceu_2 {
  display: block !important;
}
.fab:hover {
  filter: brightness(0.9);
}
#fullscreen-calendar-modal .calendar-modal-content {
  height: auto !important;
  width: auto !important;
}
#fullscreen-post-form,
#fullscreen-calendar-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: var(--color-overlay-light);
  z-index: 191989869998;
  display: none;
  align-items: center;
  justify-content: center;
}
#fullscreen-post-form form,
#fullscreen-calendar-modal .calendar-modal-content {
  background: var(--color-surface);
  border-radius: 1rem;
  padding: 1rem 1rem;
  /* max-width: 480px; */
  width: 95vw;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18);
  position: relative;
  height: 95vh;
}
#fullscreen-post-form textarea {
  width: 100%;
  min-height: 120px;
  border-radius: 1rem;
  border: 1px solid var(--color-border);
  padding: 1rem;
  font-size: 1rem;
  margin-bottom: 1rem;
}
#whats-new_ifr {
  height: 67.845964894891vh !important;
}
/* #fullscreen-post-form .button {
  margin: 0.5rem 0.5rem 0 0;
  border-radius: 2rem;
  padding: 0.7rem 2rem;
  font-size: 1rem;
  background: #2196f3;
  color: #fff;
  border: none;
  cursor: pointer;
} */

#fullscreen-post-form .kettei.actpost {
  background: var(--color-primary);
  color: var(--color-surface);
  border-radius: 2rem;
  padding: 0.5rem 2rem;
  font-size: 0.7rem;
  border: none;
  cursor: pointer;
}
#modal-close {
  position: absolute;
  top: 32px;
  right: 48px;
  z-index: 10001;
}
#close-modal {
  background: none;
  border: none;
  font-size: 2rem;
  cursor: pointer;
  color: var(--color-muted);
  transition: color 0.2s;
}
#close-modal:hover {
  color: var(--color-accent);
}
#tinymce img {
  max-width: calc(100% - 1rem) !important;
  height: auto !important;
}
.media-sidebar {
  display: none !important;
}
.attachments-browser .media-toolbar,
.attachments-browser .uploader-inline,
.attachments-browser.has-load-more .attachments-wrapper,
.attachments-browser:not(.has-load-more) .attachments {
  right: 0 !important;
}
.media-modal {
  z-index: 999454546541888160000 !important;
  box-shadow: none !important;
  border-radius: 1rem !important;
  overflow: hidden !important;
  height: 94% !important;
}
div#template-notices p {
  position: fixed;
  left: 0;
  bottom: 0;
  background: var(--color-muted);
  color: var(--color-surface);
  font-size: 0.7rem;
  border-radius: 0 1rem 0 0;
  padding: 0.5rem 1rem 0.5rem 1rem !important;
  margin: 0;
  z-index: 99999;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
  will-change: transform, opacity;
  animation: cls2025-template-notice-toast-in 0.16s ease-out both,
    cls2025-template-notice-toast-out 0.4s ease-in 3s forwards;
}

@keyframes cls2025-template-notice-toast-in {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes cls2025-template-notice-toast-out {
  from {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
  }
  to {
    opacity: 0;
    transform: translateY(24px);
    visibility: hidden;
  }
}
div#item-body {
  padding: 5vw;
}
@media (max-width: 768px) {
  .activity-item.mas-i {
    /* padding: 0.5rem !important; */
    margin: 2rem auto !important;
    position: relative !important;
    /* width: 95% !important; */
    transform: none !important;
  }
}
