/* ===== お電話受付状況（トップ・親御様ページ共通） ===== */
.tel-card{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;align-items:center;background:#fff;border:2px solid #ece2d3;border-radius:24px;padding:18px 20px;margin-top:22px;color:#3a342e;text-align:left}
.tel-card .ts-ic{grid-row:1/span 3;width:64px;height:64px;border-radius:50%;background:#fdf5e1;display:grid;place-items:center;align-self:start}
.tel-card .ts-ic svg{width:44px;height:44px}
.ts-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}
.ts-date{font-family:"Kiwi Maru",serif;font-size:15px;color:#655c53;letter-spacing:.04em}
.ts-pill{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:15px;line-height:1.5;padding:4px 14px;border-radius:999px;background:#eef4e7;color:#24523f}
.ts-num{display:inline-block;font-family:"Kiwi Maru",serif;font-size:30px;line-height:1.3;color:#24523f;text-decoration:none;letter-spacing:.05em;margin-top:2px}
.ts-num small{font-family:"Zen Maru Gothic",sans-serif;font-size:12.5px;color:#978d82;margin-left:10px;letter-spacing:.02em}
.ts-note{margin:4px 0 0;font-size:14.5px;line-height:1.8;color:#3a342e;font-weight:700}
.ts-sub{grid-column:1/-1;margin:10px 0 0;padding:10px 14px;background:#fbf6ee;border-radius:14px;font-size:12.5px;line-height:1.8;color:#655c53;list-style:none}
.ts-sub li::before{content:"※ "}
.ts-alt{display:none;margin-top:8px;font-size:14px}
.ts-alt a{color:#2f6b52;font-weight:700;background:linear-gradient(transparent 70%,#f6d58e 70%);text-decoration:none;margin-right:14px}
[data-state="closed"] .ts-alt{display:block}
[data-state="closed"] .ts-pill{background:#f1ece4;color:#655c53}
[data-state="closed"] .ts-note{font-weight:500}

/* 点（受付中は脈打つ） */
.ts-dot{flex:none;display:inline-block;width:10px;height:10px;border-radius:50%;background:#b8ada0}
[data-state="open"] .ts-dot{background:#35a765;animation:tsPulse 1.8s ease-out infinite}
@keyframes tsPulse{0%{box-shadow:0 0 0 0 rgba(53,167,101,.55)}70%{box-shadow:0 0 0 9px rgba(53,167,101,0)}100%{box-shadow:0 0 0 0 rgba(53,167,101,0)}}
@media (prefers-reduced-motion:reduce){[data-state="open"] .ts-dot{animation:none}}

/* 濃い背景の上 */
.tel-card.dark{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#fff;max-width:640px;margin:26px auto 0}
.tel-card.dark .ts-ic{background:rgba(255,255,255,.12)}
.tel-card.dark .ts-date{color:#d9e7dc}
.tel-card.dark .ts-pill{background:rgba(255,255,255,.16);color:#fff}
.tel-card.dark[data-state="closed"] .ts-pill{background:rgba(255,255,255,.1);color:#d9e7dc}
.tel-card.dark .ts-num{color:#fff}
.tel-card.dark .ts-num small{color:#b8d0c0}
.tel-card.dark .ts-note{color:#fff}
.tel-card.dark .ts-sub{background:rgba(0,0,0,.14);color:#d9e7dc}
.tel-card.dark .ts-alt a{color:#fff;background:linear-gradient(transparent 70%,rgba(246,213,142,.5) 70%)}

@media (max-width:480px){
  .tel-card{grid-template-columns:1fr;padding:16px}
  .tel-card .ts-ic{display:none}
  .ts-num{font-size:27px}
  .ts-num small{display:block;margin:0}
}

/* 一行表示（ヘッダー帯など） */
.ts-inline{display:inline-flex;align-items:center;gap:8px}
.tel-card.dark .ts-alt{display:none!important}

/* ===== 受付中を目立たせる ===== */
.ts-call{display:none}
.tel-card[data-state="open"]:not(.dark){background:#2f6b52;border-color:#2f6b52;color:#fff;box-shadow:0 6px 0 #24523f}
.tel-card[data-state="open"]:not(.dark) .ts-ic{background:rgba(255,255,255,.14);color:#fff}
.tel-card[data-state="open"]:not(.dark) .ts-date{color:#d9e7dc}
.tel-card[data-state="open"] .ts-pill{font-size:19px;padding:6px 18px 6px 14px;background:#f6d58e;color:#3a342e;font-family:"Kiwi Maru",serif;font-weight:500}
.tel-card[data-state="open"] .ts-dot{width:13px;height:13px;background:#2f9e5b}
.tel-card[data-state="open"]:not(.dark) .ts-num{color:#fff;font-size:34px}
.tel-card[data-state="open"]:not(.dark) .ts-num small{color:#cfe0d4}
.tel-card[data-state="open"]:not(.dark) .ts-note{color:#fff}
.tel-card[data-state="open"]:not(.dark) .ts-sub{background:rgba(0,0,0,.16);color:#dfe9e0}
.tel-card[data-state="open"] .ts-call{display:inline-flex;align-items:center;gap:8px;margin-top:10px;background:#e06f4a;color:#fff;font-weight:700;text-decoration:none;border-radius:999px;padding:11px 22px;box-shadow:0 4px 0 #c4572f;font-size:15px}
.tel-card[data-state="open"] .ts-call:hover{transform:translateY(2px);box-shadow:0 2px 0 #c4572f}
@media (max-width:480px){.tel-card[data-state="open"] .ts-call{display:flex;justify-content:center}.tel-card[data-state="open"] .ts-pill{font-size:17px}.tel-card[data-state="open"]:not(.dark) .ts-num{font-size:30px}}

/* 上部の帯のラベル */
.ts-util{display:inline-flex;align-items:center;gap:8px}
.ts-util[data-state="open"] .ts-util-label{background:#f6d58e;color:#3a342e;font-weight:700;padding:1px 10px;border-radius:999px}

/* スマホ下部の電話ボタン */
.mb-tel[data-state="open"]{background:#2f6b52!important;color:#fff!important}
.mb-tel[data-state="open"] .ts-dot{background:#8fe0ad}

/* PCの右下固定ボタン */
.fc-tel{display:none;align-items:center;gap:10px;text-decoration:none;color:#24523f;padding-right:6px;border-right:1px solid #ece2d3;margin-right:2px}
.fc-tel b{display:block;font-family:"Kiwi Maru",serif;font-weight:500;font-size:18px;letter-spacing:.04em;line-height:1.2}
.fc-tel small{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:#2f6b52}
.fc-tel[data-state="open"]{display:flex}
.float-cta:has(.fc-tel[data-state="open"]) > img,.float-cta:has(.fc-tel[data-state="open"]) > p{display:none}
.float-cta:has(.fc-tel[data-state="open"]){padding-left:18px}
