@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
*/

/* 今日の記念日（黄色いカード風） */
.entry-content .special-anniversary{
  background:#fff4cc;
  border-left:6px solid #f59e0b;
  padding:12px 14px;
  margin:14px 0;
  border-radius:8px;
  font-weight:700;
}

/* 近日の記念日リスト */
.entry-content .anniversary-upcoming{
  list-style: disc;
  margin:10px 0 10px 1.25em;
  padding:0;
}
.entry-content .anniversary-upcoming li{
  margin:6px 0;
  line-height:1.7;
}

/* 登録済み一覧（常時） */
.entry-content .anniversary-list{
  list-style: none;
  margin:12px 0;
  padding:0;
}
.entry-content .anniversary-list li{
  position:relative;
  margin:6px 0;
  padding-left:1em;
}
.entry-content .anniversary-list li::before{
  content:"・";
  position:absolute;
  left:0;
}

.special-anniversary {
    background-color: #fff3cd !important; /* 薄い黄色背景 */
    border: 2px solid #ff9800 !important; /* オレンジ枠 */
    color: #333 !important; /* 文字色 */
    font-size: 1.2em !important;
    font-weight: bold !important;
    padding: 10px 15px !important;
    border-radius: 6px !important;
    margin-bottom: 15px !important;
}

/* カレンダー枠 */
.rk-anniv-cal{ margin:16px 0; }
.rk-anniv-cal__nav{ display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:8px; }
.rk-anniv-cal__title{ font-weight:700; }
.rk-anniv-cal__btn{ text-decoration:none; font-size:.95em; }

/* テーブル */
.rk-anniv-cal__table{ width:100%; border-collapse:collapse; table-layout:fixed; }
.rk-anniv-cal__th, .rk-anniv-cal__cell{ border:1px solid #e5e7eb; padding:6px; vertical-align:top; }
.rk-anniv-cal__th{ background:#f8fafc; font-weight:600; text-align:center; }

/* 曜日色 */
.rk-anniv-cal__th.sun, .rk-anniv-cal__cell.sun .rk-anniv-cal__date{ color:#e11d48; }
.rk-anniv-cal__th.sat, .rk-anniv-cal__cell.sat .rk-anniv-cal__date{ color:#2563eb; }

/* 日付＆今日の強調 */
.rk-anniv-cal__date{ font-weight:700; margin-bottom:4px; }
.rk-anniv-cal__cell.is-today{ background:#fff7d6; outline:2px solid #f59e0b; }

/* 記念日バッジ */
.rk-anniv-cal__list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:4px; }
.rk-anniv-cal__badge{ display:inline-block; background:#eef2ff; border:1px solid #c7d2fe; border-radius:6px; padding:4px 6px; font-size:.88em; line-height:1.3; }
.rk-anniv-cal__cell.is-empty{ background:#fafafa; }

/* ===== カレンダーのスマホ最適化（貼るだけ） ===== */

/* バッジが縦書きっぽくなる/改行されない問題を抑止 */
.rk-anniv-cal__badge{
  white-space: normal;            /* 折り返し可 */
  word-break: break-word;         /* 長い語を折る */
  writing-mode: horizontal-tb;    /* 強制横書き */
}

/* セル内でバッジがはみ出すときはスクロールに逃がす */
.rk-anniv-cal__list{
  max-height: 60px;               /* お好みで 48~80px */
  overflow: auto;                 /* はみ出し分をスクロール */
  -webkit-overflow-scrolling: touch;
}

/* 全体を少しコンパクトに */
@media (max-width: 480px){
  .rk-anniv-cal__table{ font-size: 12px; }
  .rk-anniv-cal__th, .rk-anniv-cal__cell{ padding: 4px; }
  .rk-anniv-cal__date{ font-size: 12px; margin-bottom: 2px; }
  .rk-anniv-cal__badge{
    font-size: 11px;
    padding: 2px 4px;
    line-height: 1.2;
  }
  .rk-anniv-cal__nav{ gap: 4px; }
  .rk-anniv-cal__btn{ font-size: .9em; }
}

/* === Override: 相手カードを控えめオレンジ基調に === */
.rk-tb-oppo{
  position:relative;
  border:1px solid #fde7c6;                     /* 薄いオレンジ枠 */
  background: linear-gradient(180deg,#fff7ed,#ffffff); /* ごく淡いオレンジ→白 */
  border-radius:14px;
  padding:12px 14px;
  box-shadow: 0 6px 18px rgba(245,158,11,.12);  /* ソフトなオレンジ影 */
}
.rk-tb-oppo::before{
  content:"";
  position:absolute; inset:-2px;
  border-radius:16px;
  background:
    radial-gradient(600px 120px at 20% -10%, rgba(251,146,60,.16), transparent 60%),
    radial-gradient(600px 120px at 80% 120%, rgba(253,186,116,.12), transparent 60%);
  z-index:-1;
}
.rk-tb-oppo__head{ display:flex; align-items:center; gap:10px; margin-bottom:6px; }
.rk-tb-oppo__emoji{
  font-size:22px; line-height:1;
  filter: drop-shadow(0 2px 4px rgba(245,158,11,.22)); /* オレンジ系の柔らかい光 */
  animation: rk-emoji-pulse-soft 3s ease-in-out infinite;
}
@keyframes rk-emoji-pulse-soft{
  0%,100%{ transform: scale(1); }
  50%{ transform: scale(1.04); }                 /* さりげなく */
}
.rk-tb-oppo__title{ font-weight:700; color:#b45309; }   /* orange-700系 */
.rk-tb-oppo__stats{ margin-left:34px; color:#a16207; }  /* orange-600系 */
.rk-tb-oppo__hint{
  margin-top:6px; font-size:.9em; color:#9a5b00; opacity:.85; font-style: italic;
}

/* 自分ボタンの強調も少しだけ柔らかく */
.rk-tb-btn.is-self{
  border-color:#f59e0b;
  box-shadow:0 0 0 2px rgba(245,158,11,.18);     /* 0.25 → 0.18に減衰 */
}

/* モバイル調整はそのまま維持 */
@media (max-width:480px){
  .rk-tb-oppo__stats{ margin-left:0; }
}

/* 自分ブロックのカード */
.rk-tb-self{
  background:#fff7ed;              /* very light orange */
  border:1px solid #f6d49a;        /* pale orange border */
  border-radius:16px;
  padding:14px 16px;
  box-shadow:0 6px 18px rgba(245,158,11,.06);
  margin-bottom:18px;
}
.rk-tb-self__head{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}
.rk-tb-self .rk-tb-btn{
  border-color:#f59e0b;
  box-shadow:0 0 0 2px rgba(245,158,11,.18);
}
.rk-tb-self .rk-tb-open-picker{
  border:1px solid #fbd38d;
  background:#fffaf3;
  border-radius:10px;
  padding:8px 12px;
  font-weight:700;
}
.rk-tb-self .rk-tb-open-picker:hover{
  background:#fff4e6;
}
.rk-tb-self .rk-tb-note{
  margin-top:6px;
  color:#8a7b65;                   /* muted brownish */
  font-size:.92em;
}

/* 既存の相手カードはそのまま。色味だけ軽く寄せるなら… */
.rk-tb-oppo{
  background:linear-gradient(180deg,#fffaf5, #fff7ef);
  border-color:#f6d49a;
}
.rk-tb-oppo__title{ color:#c2410c; }   /* 落ち着いたオレンジ見出し */
.rk-tb-oppo__stats strong{ color:#b45309; }

/* 自分カード：淡い水色テーマ */
.rk-tb-me{
  background:#F0F9FF;
  border:1px solid #CFE8FF;
  border-radius:16px;
  padding:14px;
  box-shadow:0 6px 24px rgba(0,103,255,.06);
}
.rk-tb-me .rk-tb-btn{
  border-color:#CFE8FF;
  background:#FFF;
}
.rk-tb-me .rk-tb-btn.is-self{
  border-color:#60A5FA;
  box-shadow:0 0 0 2px rgba(96,165,250,.25);
}
.rk-tb-me .rk-tb-open-picker{
  border:1px solid #DBEAFE;
  background:#FFF;
}
.rk-tb-me .rk-tb-open-picker:hover{ background:#F8FBFF; }
.rk-tb-me .rk-tb-note{ color:#64748B; }

/* ---- 自分カード（淡い水色） ---- */
.rk-tb-box .rk-tb-me,
.rk-tb-box .rk-tb-me__inner{
  background: #eef7ff;              /* パステル水色 */
  border: 1px solid #cfe6ff;
  border-radius: 14px;
  padding: 16px;
  box-shadow: 0 6px 22px rgba(0,128,255,.06);
}

/* 自分カード内のボタン類も水色系の枠に */
.rk-tb-box .rk-tb-me .rk-tb-btn,
.rk-tb-box .rk-tb-me__inner .rk-tb-btn,
.rk-tb-box .rk-tb-me .rk-tb-open-picker,
.rk-tb-box .rk-tb-me__inner .rk-tb-open-picker{
  border-color: #cfe6ff;
  background: #fff;
}

/* ---- 相手カード（やさしいオレンジ）を明示的に固定 ---- */
.rk-tb-box .rk-tb-oppo{
  background: #fff8ef;
  border: 1px dashed #f6c37a;
  border-radius: 18px;
  box-shadow: 0 10px 28px rgba(255,153,0,.08);
}
.rk-tb-box .rk-tb-oppo__title{ color: #b45309; }
.rk-tb-box .rk-tb-oppo__last,
.rk-tb-box .rk-tb-oppo__counts{ color: #7c3a02; }
.rk-tb-box .rk-tb-oppo__hint{ color: #a16207; }

/* === Thinking Buttons styles (moved from inline) === */
.rk-tb-box{font-size:16px;line-height:1.7;color:#333}
.rk-tb-row{display:flex;align-items:center;gap:12px;margin:10px 0;flex-wrap:wrap}
.rk-tb-row--picker{margin-top:4px}
.rk-tb-btn,.rk-tb-open-picker{cursor:pointer;border:1px solid #e5e7eb;background:#fff;border-radius:10px;padding:10px 14px;font-weight:700;transition:transform .08s,box-shadow .2s,border-color .2s}
.rk-tb-btn:is(:hover,:focus){transform:translateY(-1px);box-shadow:0 6px 18px rgba(0,0,0,.06);border-color:#d1d5db}
.rk-tb-btn.is-loading{opacity:.6;pointer-events:none}
.rk-tb-btn.is-self{border-color:#f59e0b;box-shadow:0 0 0 2px rgba(245,158,11,.25)}
.rk-tb-btn .rk-tb-emoji{font-size:22px;margin-right:.35em}
.rk-tb-stats{font-size:.95em;line-height:1.6}
.rk-tb-note{margin:6px 0 14px;font-size:.9em;color:#666}

/* 自分カード（淡い水色） */
.rk-tb-me{background:#eef7ff;border:1px solid #cfe6ff;border-radius:16px;padding:16px;box-shadow:0 6px 22px rgba(0,128,255,.06)}
.rk-tb-me .rk-tb-btn,
.rk-tb-me .rk-tb-open-picker{border-color:#cfe6ff}

/* 相手カード（控えめオレンジ） */
.rk-tb-oppo{position:relative;border:1px solid #fde7c6;background:linear-gradient(180deg,#fff7ed,#fff);border-radius:14px;padding:12px 14px;box-shadow:0 6px 18px rgba(245,158,11,.12)}
.rk-tb-oppo::before{content:"";position:absolute;inset:-2px;border-radius:16px;background:
  radial-gradient(600px 120px at 20% -10%, rgba(251,146,60,.16), transparent 60%),
  radial-gradient(600px 120px at 80% 120%, rgba(253,186,116,.12), transparent 60%);z-index:-1}
.rk-tb-oppo__head{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.rk-tb-oppo__emoji{font-size:24px;line-height:1;filter:drop-shadow(0 2px 4px rgba(245,158,11,.22));animation:rk-emoji-pulse-soft 3s ease-in-out infinite}
@keyframes rk-emoji-pulse-soft{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
.rk-tb-oppo__title{font-weight:700;color:#b45309}
.rk-tb-oppo__stats{margin-left:34px;color:#a16207}
.rk-tb-oppo__hint{margin-top:6px;font-size:.9em;color:#a16207;opacity:.9}

@media (max-width:480px){
  .rk-tb-row{flex-direction:column;align-items:flex-start;gap:6px}
  .rk-tb-oppo__stats{margin-left:0}
}

/* 共通 */
.rk-tb-row{display:flex;align-items:center;gap:12px;margin:10px 0;flex-wrap:wrap}
.rk-tb-row--picker{margin-top:4px}
.rk-tb-btn,.rk-tb-open-picker{cursor:pointer;border:1px solid #e5e7eb;background:#fff;border-radius:10px;padding:10px 14px;font-weight:700;transition:transform .08s,box-shadow .2s,border-color .2s}
.rk-tb-btn:is(:hover,:focus){transform:translateY(-1px);box-shadow:0 6px 18px rgba(0,0,0,.06);border-color:#d1d5db}
.rk-tb-btn.is-loading{opacity:.6;pointer-events:none}
.rk-tb-btn.is-self{border-color:#f59e0b;box-shadow:0 0 0 2px rgba(245,158,11,.25)}
.rk-tb-btn .rk-tb-emoji{font-size:22px;margin-right:.35em}
.rk-tb-stats{font-size:.95em;line-height:1.6}
.rk-tb-note{margin:6px 0 14px;font-size:.9em;color:#666}

/* 自分カード（淡い水色） */
.rk-tb-me{background:#eef7ff;border:1px solid #cfe6ff;border-radius:16px;padding:16px;box-shadow:0 6px 22px rgba(0,128,255,.06)}
.rk-tb-me .rk-tb-btn,.rk-tb-me .rk-tb-open-picker{border-color:#cfe6ff}

/* 相手カード（控えめオレンジ） */
.rk-tb-oppo{position:relative;border:1px solid #fde7c6;background:linear-gradient(180deg,#fff7ed,#fff);border-radius:14px;padding:12px 14px;box-shadow:0 6px 18px rgba(245,158,11,.12)}
.rk-tb-oppo::before{content:"";position:absolute;inset:-2px;border-radius:16px;background:
  radial-gradient(600px 120px at 20% -10%, rgba(251,146,60,.16), transparent 60%),
  radial-gradient(600px 120px at 80% 120%, rgba(253,186,116,.12), transparent 60%);z-index:-1}
.rk-tb-oppo__head{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.rk-tb-oppo__emoji{font-size:24px;line-height:1;filter:drop-shadow(0 2px 4px rgba(245,158,11,.22));animation:rk-emoji-pulse-soft 3s ease-in-out infinite}
@keyframes rk-emoji-pulse-soft{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
.rk-tb-oppo__title{font-weight:700;color:#b45309}
.rk-tb-oppo__stats{margin-left:34px;color:#a16207}
.rk-tb-oppo__hint{margin-top:6px;font-size:.9em;color:#a16207;opacity:.9}

/* モーダル（アイコン選択のオーバーレイ） */
.rk-tb-lock{overflow:hidden}
.rk-tb-modal.is-hidden{display:none}
.rk-tb-modal{position:fixed;inset:0;z-index:10000}
.rk-tb-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45)}
.rk-tb-modal__panel{position:relative;z-index:1;max-width:640px;margin:10vh auto;background:#fff;border-radius:12px;box-shadow:0 20px 40px rgba(0,0,0,.24);display:flex;flex-direction:column;max-height:80vh}
.rk-tb-modal__head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #eee}
.rk-tb-modal__body{padding:12px 16px;overflow:auto}
.rk-tb-emoji-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:10px}
.rk-tb-emoji-choice{font-size:22px;line-height:1;padding:10px 0;border:1px solid #e5e7eb;background:#fff;border-radius:10px;cursor:pointer}
.rk-tb-emoji-choice:hover{border-color:#d1d5db;box-shadow:0 6px 18px rgba(0,0,0,.06)}

@media (max-width:480px){
  .rk-tb-row{flex-direction:column;align-items:flex-start;gap:6px}
  .rk-tb-oppo__stats{margin-left:0}
  .rk-tb-modal__panel{margin:0;min-height:100vh;border-radius:0}
}

/* ① 自分カードと相手カードの間に余白をつける */
.rk-tb-box .rk-tb-me{
  margin-bottom: 22px;     /* 好みで 16〜28px くらいに調整OK */
}

/* ② 相手カードを“控えめオレンジ”に戻す（上書き） */
.rk-tb-box .rk-tb-oppo{
  border: 1.5px dashed rgba(245,158,11,.55);             /* オレンジの点線 */
  background: linear-gradient(180deg,#FFF8EF,#FFFCF8);   /* やわらかいオレンジ */
  border-radius: 16px;
  padding: 16px 18px;
  box-shadow: 0 10px 30px rgba(245,158,11,.08);
}
/* 以前の ::before 装飾が残っていたら消す（見た目の差異対策） */
.rk-tb-box .rk-tb-oppo::before{ content:none !important; }

.rk-tb-box .rk-tb-oppo__head{ display:flex; align-items:center; gap:10px; margin-bottom:6px; }
.rk-tb-box .rk-tb-oppo__emoji{ font-size:22px; filter: drop-shadow(0 2px 4px rgba(245,158,11,.22)); }
.rk-tb-box .rk-tb-oppo__title{ color:#b45309; font-weight:700; }
.rk-tb-box .rk-tb-oppo__stats{ color:#a16207; }  /* テキストも少しオレンジ寄りに */

/* --- 相手カード：点線 → 淡い実線に ---------------------------------- */
.rk-tb-box .rk-tb-oppo{
  border: 1.5px solid rgba(245,158,11,.35);   /* やさしいオレンジの実線 */
  background: linear-gradient(180deg,#FFF8EF,#FFFCF8); /* ほんのり暖色 */
  box-shadow: 0 10px 30px rgba(245,158,11,.08);
}
/* もし過去CSSの ::before 装飾が残っていたら消してトーンを揃える */
.rk-tb-box .rk-tb-oppo::before{ content:none !important; }

/* タイトル/数値の色も控えめオレンジで統一 */
.rk-tb-box .rk-tb-oppo__title{ color:#b45309; font-weight:700; }
.rk-tb-box .rk-tb-oppo__stats{ color:#a16207; }

/* --- 自分のボタン：白 → 自然な淡いブルーに ---------------------------- */
/* （考えています／アイコンを変更 の2つ） */
.rk-tb-box .rk-tb-btn,
.rk-tb-box .rk-tb-open-picker{
  background: linear-gradient(180deg,#F6FBFF,#FFFFFF); /* ほんのり青みの白 */
  border-color: #cfe0ff;
}
.rk-tb-box .rk-tb-btn:is(:hover,:focus),
.rk-tb-box .rk-tb-open-picker:is(:hover,:focus){
  border-color:#bcd6ff;
  box-shadow:0 6px 18px rgba(28,100,242,.08);
  transform: translateY(-1px);
}
/* 自分側の強調はブルー寄りに少しだけ */
.rk-tb-box .rk-tb-btn.is-self{
  border-color:#9ec5ff;
  box-shadow:0 0 0 2px rgba(159,197,255,.25);
}

/* （お好みで）自分カードと相手カードの間の余白を少し確保 */
.rk-tb-box .rk-tb-self,
.rk-tb-box .rk-tb-me{  /* どちらのクラスでも効くように両方指定 */
  margin-bottom: 22px;
}

/* モーダルを最前面に */
.rk-tb-modal{ z-index:2147483647 !important; }

/* 管理バー表示時の上マージン（スマホ/PC） */
body.admin-bar .rk-tb-modal__panel{ margin-top: calc(7vh + 46px); }
@media (min-width:782px){
  body.admin-bar .rk-tb-modal__panel{ margin-top: calc(7vh + 32px); }
}

/* 自分ブロックにまとまり感（淡い水色カード＋余白） */
.rk-tb-self{
  background: linear-gradient(180deg,#f0f9ff,#ffffff);
  border: 1px solid #dbeafe;
  border-radius: 14px;
  padding: 12px 14px;
  margin-bottom: 16px;
}

/* 自分側のボタン＆「アイコンを変更」ボタンを少しだけ柔らかく */
.rk-tb-self .rk-tb-btn.is-self,
.rk-tb-self .rk-tb-open-picker{
  background: #f8fafc;
  border-color: #cbd5e1;
  box-shadow: 0 0 0 2px rgba(59,130,246,.08);
}

/* ===== カレンダー＆デート予定の見た目 ===== */
.rk-cal__nav{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin:.5rem 0;}
.rk-cal__btn{padding:.25rem .5rem;border:1px solid #ddd;border-radius:.5rem;text-decoration:none}
.rk-cal__title{font-weight:600}

.rk-cal__table{width:100%;border-collapse:separate;border-spacing:2px}
.rk-cal__th,.rk-cal__cell{padding:.35rem;vertical-align:top;background:#fff;border:1px solid #eee;border-radius:.5rem}
.rk-cal__th.sun,.rk-cal__cell.sun{color:#c00}
.rk-cal__th.sat,.rk-cal__cell.sat{color:#06c}
.rk-cal__cell.is-empty{background:transparent;border:none}
.rk-cal__cell.is-today{box-shadow:inset 0 0 0 2px #7cb342;border-color:#7cb342}
.rk-cal__date{font-weight:600;margin-bottom:.25rem}

.rk-cal__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}
.rk-cal__badge{display:inline-block;font-size:.875rem;padding:.15rem .4rem;border-radius:999px;line-height:1.2}

.rk-cal__badge--anniv{background:#fff7e6;border:1px solid #f0c36a}
.rk-cal__badge--anniv::before{content:"●";margin-right:.3em}

.rk-cal__badge--date{background:#e7f2ff;border:1px solid #80bfff}
.rk-cal__badge--date::before{content:"♥";margin-right:.3em}

/* 今週カード */
.rk-udates{list-style:none;margin:.5rem 0;padding:0;display:flex;flex-direction:column;gap:.25rem}

/* ========= Rib-Knot calendar polish ========= */

/* 色パレット（お好みで調整OK） */
.rk-anniv-cal{
  --anniv-bg:    #FFF7E6;  /* 記念日の背景 */
  --anniv-bd:    #F2C37A;  /* 記念日の枠線 */
  --anniv-dot:   #C58A00;  /* 記念日のドット */

  --date-bg:     #EAF3FF;  /* デートの背景 */
  --date-bd:     #9FC2FF;  /* デートの枠線 */
  --date-dot:    #2563EB;  /* デートのドット */

  --cell-bd:     #E5E7EB;  /* セル罫線 */
  --head-bg:     #0F3446;  /* 見出し背景（必要なら） */
}

/* テーブルの基本を少し整える（幅均等・罫線や余白） */
.rk-anniv-cal__table{
  width:100%;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
}
.rk-anniv-cal__th{
  padding:.6rem .2rem;
  font-weight:700;
}
.rk-anniv-cal__cell{
  vertical-align: top;
  border:1px solid var(--cell-bd);
  padding:.45rem;
  position:relative;
  background:#fff;
}
.rk-anniv-cal__cell.is-today{
  outline:3px solid #82C37B;
  outline-offset:-2px;
  background:#F6FFF4;
}

/* 日付数字 */
.rk-anniv-cal__date{
  font-weight:700;
  font-size:13px;
  margin-bottom:.25rem;
}

/* バッジの並び（縦積み・間隔小さめ） */
.rk-anniv-cal__list{
  display:flex;
  flex-direction:column;
  gap:.25rem;
}

/* バッジ共通 */
.rk-anniv-cal__badge{
  display:block;
  max-width:100%;
  padding:.35rem .55rem;
  border-radius:999px;
  font-size:13px;
  line-height:1.25;
  word-break: keep-all;       /* 日本語の変な切れを抑止 */
  overflow-wrap: anywhere;    /* 長い英数だけ折り返す */
  border:2px solid var(--cell-bd);
  background:#F3F4F6;
}

/* 記念日／デートの色分け（classが付いていれば自動で反映） */
.rk-anniv-cal__badge.is-anniv{ background:var(--anniv-bg); border-color:var(--anniv-bd); }
.rk-anniv-cal__badge.is-date { background:var(--date-bg);  border-color:var(--date-bd);  }

/* 先頭ドット用のユーティリティ（あれば使われます） */
.rk-anniv-cal__badge .rk-dot{
  display:inline-block; width:.66em; height:.66em; border-radius:50%;
  margin-right:.4em; vertical-align:.02em; background: currentColor;
}
.rk-anniv-cal__badge.is-anniv .rk-dot{ color:var(--anniv-dot); }
.rk-anniv-cal__badge.is-date  .rk-dot{ color:var(--date-dot); }

/* 週末色（任意） */
.rk-anniv-cal__th.sun, .rk-anniv-cal__cell.sun .rk-anniv-cal__date{ color:#E11D48; }
.rk-anniv-cal__th.sat, .rk-anniv-cal__cell.sat .rk-anniv-cal__date{ color:#2563EB; }

@media (max-width:600px){
  .rk-anniv-cal__list, .rk-cal__list{ display:flex; flex-direction:column; gap:.25rem; }
  .rk-anniv-cal__badge, .rk-cal__badge{ display:block; width:100%; white-space:normal; }
  .rk-badge__text{ display:inline; }
}

/* ==== RK calendar: スマホはバッジを横書き・全幅・2行まで ==== */
@media (max-width:600px){

  /* UL: 縦積み＋子をフル幅に */
  .rk-cal__list{
    display:flex; flex-direction:column; align-items:stretch; gap:.24rem;
  }

  /* li（バッジ本体）をフル幅・高さ自動に */
  .rk-cal__list > li.rk-cal__badge{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;

    /* 親側に縦書き/回転が残っていてもここで完全解除 */
    -webkit-writing-mode: horizontal-tb !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    transform:none !important;
    rotate:0deg !important;
  }

  /* テキスト部分：横書き＋通常折返し */
  .rk-cal__list > li.rk-cal__badge .rk-badge__text{
    display:block !important;
    -webkit-writing-mode: horizontal-tb !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;

    white-space:normal !important;
    word-break:keep-all;
    overflow-wrap:anywhere;
    line-height:1.25;
    /* 必要なら2行クランプを有効化
    display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; */
  }

  /* 念押し：子孫に残っている縦書き/回転もすべて潰す */
  .rk-cal__list > li.rk-cal__badge *[style*="writing-mode"],
  .rk-cal__list > li.rk-cal__badge *[style*="vertical-rl"],
  .rk-cal__list > li.rk-cal__badge *[style*="rotate"],
  .rk-cal__list > li.rk-cal__badge *[style*="transform"]{
    -webkit-writing-mode: horizontal-tb !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    transform:none !important;
    rotate:0deg !important;
  }
}

/* === SP：カレンダーのバッジは横書き＆2行まで表示（両カレンダー共通） === */
@media (max-width:600px){
  /* リストは縦積みで子要素を全幅に */
  .rk-cal__list,
  .rk-anniv-cal__list{
    display:flex; flex-direction:column; align-items:stretch; gap:.24rem;
  }
  /* li（バッジ本体）をブロック＋全幅に */
  .rk-cal__list > li,
  .rk-anniv-cal__list > li{
    display:block; width:100%; max-width:100%; box-sizing:border-box;
  }
  /* 縦書き/回転を完全OFF（念のため） */
  .rk-cal__list > li, .rk-anniv-cal__list > li,
  .rk-cal__list > li *, .rk-anniv-cal__list > li *{
    -webkit-writing-mode: horizontal-tb !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    transform:none !important; rotate:0 !important;
  }
  /* テキスト本体を2行でクランプ＋省略 */
  .rk-badge__text{
    display:-webkit-box !important;
    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:2 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;

    white-space:normal !important;
    word-break:keep-all !important;
    overflow-wrap:anywhere !important;
    line-height:1.25;
    font-size:12px;
  }
  /* 見た目の余白（お好みで） */
  .rk-cal__badge, .rk-anniv-cal__badge{ padding:.32rem .5rem; }
}

/* ===== Agenda list polish ===== */
.rk-agenda{margin:.75rem 0;}
.rk-agenda ul{list-style:none;margin:0;padding:0;}
.rk-agenda__day{
  display:grid;
  grid-template-columns: 6.5rem 1fr; /* 左：日付 / 右：内容 */
  gap:.75rem;
  align-items:start;
  padding:.5rem 0;
  border-bottom:1px solid #eef2f7;
}
.rk-agenda__day:first-child{border-top:1px solid #eef2f7;}

.rk-agenda__date{
  font-weight:700;
  color:#0f172a;         /* 基本文字 */
  line-height:1.2;
  white-space:nowrap;
}
.rk-agenda__dow{font-weight:600; color:#64748b; margin-left:.25em;}
.rk-agenda__date .is-sun{color:#e11d48}
.rk-agenda__date .is-sat{color:#2563eb}

.rk-agenda__items{display:flex; flex-direction:column; gap:.35rem;}

/* 予定がある行：バッジ（ピル） */
.rk-agenda__badge{
  display:inline-flex; align-items:center; gap:.4em;
  padding:.35rem .6rem; border-radius:999px;
  border:1px solid #e5e7eb; background:#f8fafc;
  font-size:15px; line-height:1.25; word-break:keep-all; overflow-wrap:anywhere;
}
.rk-agenda__badge .rk-dot{width:.66em;height:.66em;border-radius:50%;background:currentColor;display:inline-block}

/* 色分け */
.rk-agenda__badge.is-anniv{ background:#fff7e6; border-color:#f2c37a; color:#9a6b00; }
.rk-agenda__badge.is-date { background:#eaf3ff; border-color:#9fc2ff; color:#0f3d91; }
.rk-agenda__badge.is-work { background:#eefdf3; border-color:#a9e3bd; color:#0f6a3d; }

/* 予定のない行（控えめ表示） */
.rk-agenda__day.is-empty .rk-agenda__date{color:#475569;}
.rk-agenda__empty{
  display:inline-block;
  font-size:13px;
  padding:.2rem .5rem;
  border-radius:999px;
  border:1px dashed #cbd5e1;
  color:#64748b;
  background:#f8fafc;
}

/* スマホ縮小 */
@media (max-width:480px){
  .rk-agenda__day{grid-template-columns:5.2rem 1fr; gap:.6rem;}
  .rk-agenda__badge{font-size:14px; padding:.3rem .55rem;}
}

/* （保険）「予定を追加」系リンクを出していても非表示にする */
.rk-agenda__add,
.js-rk-open-date{ display:none !important; }

/* 今日のデート予定（カレンダーの青に合わせる） */
.rk-today-dateplan-wrap{
  display:flex; flex-direction:column; gap:.4rem; margin:.5rem 0;
}
.rk-today-dateplan{
  background:#e7f2ff;          /* カレンダーのデート色（薄い青） */
  border:1px solid #80bfff;    /* 同系の枠色 */
  color:#0f3a7a;               /* 読みやすい濃いめの青 */
  padding:.6rem .9rem;
  border-radius:.6rem;
  font-weight:600;
}
.rk-today-dateplan.is-empty{
  background:#f8fafc;
  border:1px dashed #cbd5e1;
  color:#334155;
  font-weight:400;
}

/* 青い丸（カレンダーと同系色） */
.rk-dot{display:inline-block;width:.66em;height:.66em;border-radius:50%;background:currentColor;vertical-align:middle;margin-right:.35em}
.rk-dot--date{ color: var(--date-dot, #2563EB); }

/* 予告リストの体裁（お好みで） */
ul.rk-udates{list-style:none;padding-left:0;margin:.5rem 0}
ul.rk-udates > li{padding:.25rem 0}

/* 共通リスト整形（必要なら） */
.rk-list{ list-style:none; padding-left:0; margin:.5rem 0 0; }
.rk-list li{ margin:.35rem 0; }

/* 丸バッジ（サイズや間隔はデート予定と合わせる） */
.rk-bullet{
  display:inline-block; width:.65em; height:.65em; border-radius:9999px;
  margin-right:.5em; translate:0 -1px; background: currentColor;
}

/* 記念日カラー：カレンダーの“記念日”と同じ色に合わせてください */
.rk-bullet--anniv{ color:#d97706; } /* 例：Amber 600。テーマに合わせて変更可 */

/* 記念日フォームの上余白を詰める */
.acf-anniversary-form { margin-top: .5rem; }

/* もしブロックの block-gap が強い場合の保険 */
:where(.is-layout-flow) > .acf-anniversary-form {
  margin-block-start: .5rem !important;
}
