:root{
  --kg2-bg:#fff; --kg2-fg:#111; --kg2-muted:#666;
  --kg2-accent:#2563eb; --kg2-border:#e5e7eb; --kg2-hover:#f2f6ff;
}

/* フィールドスコープ */
.kg2-field{ position:relative; max-width:320px; color:var(--kg2-fg); }
.kg2-field label{ display:block; margin-bottom:6px; }
#kg2-wishDate{
  width:100%; padding:8px 10px; font-size:15px; background:#fff;
  border:1px solid var(--kg2-border); border-radius:8px;
}
#kg2-wishDate:focus{
  outline:none; border-color:var(--kg2-accent);
  box-shadow:0 0 0 3px rgba(37,99,235,.15);
}

/* ポップアップ（小さめ） */
#kg2-dp.kg2-datepicker{
  position:absolute; left:0; top:48px; z-index:9999;
  width:300px; background:var(--kg2-bg);
  border:1px solid var(--kg2-border); border-radius:12px;
  box-shadow:0 10px 30px rgba(0,0,0,.08);
  display:none !important; /* 初期は隠す（他CSSに勝つ） */
}
#kg2-dp.kg2-datepicker.kg2-open{ display:block !important; }
.kg2-datepicker.kg2-align-right{ right:0; left:auto; }

/* ヘッダー：前月 / 年月 / 次月 */
.kg2-header{
  display:flex; align-items:center; justify-content:space-between;
  padding:8px; border-bottom:1px solid var(--kg2-border);
}
.kg2-title{ font-weight:700; font-size:15px; }
.kg2-nav{
  border:1px solid var(--kg2-border); background:#fff;
  border-radius:8px; padding:4px 8px; cursor:pointer; font-size:14px;
}
.kg2-nav:disabled{ opacity:.4; cursor:not-allowed; }

/* カレンダー本体（小さめ） */
.kg2-grid{
  display:grid; grid-template-columns:repeat(7,1fr);
  gap:4px; padding:8px;
  font-size:13px;
}
.kg2-cell{ text-align:center; padding:6px 0; border-radius:8px; }
.kg2-dow{ color:var(--kg2-muted); font-weight:600; }
.kg2-day{ cursor:pointer; border:1px solid transparent; background:#fff; }
.kg2-day:hover{ background:var(--kg2-hover); }
.kg2-day.kg2-today{ border-color:var(--kg2-accent); }
.kg2-day.kg2-selected{ background:var(--kg2-accent); color:#fff; }
.kg2-day.kg2-disabled{ color:#bbb; cursor:not-allowed; }

/* 定休日対応 */
.kg2-day.kg2-disabled {
  color: #ccc;
  background: #f5f5f5;
  cursor: not-allowed;
}

.kg2-day.kg2-disabled:hover {
  background: #f5f5f5;
}

@media (max-width:340px){
  #kg2-dp.kg2-datepicker{ width:min(100vw - 24px, 300px); }
}